Javascript複製對像數組而不引用

| | | | | | | | | | | | | | | | | | | | | |

在 Java 中使用數組時,您可能會決定製作一個數組的副本。例如,如果您經營一家咖啡館並想創建季節性菜單,您可以創建原始菜單的副本,以作為新菜單的基礎。

在 Java 中,您可以通過多種方式進行複制數組。本教程將探討四種常見的表格複製方法,並逐行討論它們的工作原理。閱讀本教程後,您將成為在 Java 中復製表的大師。

Java 數組

在 Java 中,數組是一個容器,其中包含包含單個類型。例如,表格可用於存儲書籍列表或玩家在飛鏢遊戲中獲得的分數列表。

當您想要處理許多值時,數組很有用“Äã” Äã因為您可以將它們存儲在一個集合中。這允許您壓縮您的代碼並同時在相同的值上運行相同的方法。

單詞讓我們想要創建一個數組來存儲我們咖啡店出售的咖啡。我們可以使用以下代碼:

String [] = coffees {"Espresso", "Mocha", "Latte", "cappuccino", "Versare Over", "Flat white" } ;

在本例中,我們聲明了一個名為 cafes 的數組,用於存儲字符串值。我們的數組包含六個值。

數組的每個元素都分配有一個索引號,從 0 開始,可用於引用數組中的各個元素。

現在我們已經了解了 Java 數組的基礎知識,我們可以討論可以用來複製表內容的方法。

使用賦值運算符複製數組

複製數組最常用的克隆方法之一是使用賦值運算符。

賦值運算符用於為數組賦值。使用賦值運算符,我們可以賦值將現有數組的內容複製到一個新變量中,這將創建我們現有數組的副本。

讓我們回到咖啡店。假設我們要創建 cafes 數組,我們將以此為基礎創建夏季咖啡菜單。我們可以使用以下代碼創建數組的副本:

我們的代碼返回:

Espresso、Moka、Latte、Cappuccino、Pour over、flat white,

從 Descended 中斷我們的代碼。在 CopyAssignment 類的第一行代碼中,我們聲明了一個名為 cafes 的數組,它存儲我們的標準咖啡館菜單。

在下一行,我們使用賦值運算符來分配cafes 的值到一個名為 summer_coffees 的新數組中。接下來,我們創建一個“for-each”循環,傳遞每個 summer_coffees 數組元素並打印到控制台。

使用此方法有一個缺點:如果您更改一個數組的元素,另一個數組也會改變。所以如果我們在 summer_coffee 列表中改變 Latte Summer Latte 的值,我們的 coffee 列表也將被更改

循環複製數組

我們討論的第一種複制數組的方法 -. 通過使用賦值運算符 -創建所謂的 copy shallow. 之所以如此,是因為我們已經將一個現有的數組對象分配給了一個新的對象,這意味著當我們更改任何對象時,它們都將被更改 - . 這兩個對象是相關的

但是,我們經常需要創建一個深拷貝。深拷貝複制現有對象的值,並創建一個新的數組對象。創建完整副本時,您可以編輯新的不影響原表。

可用於創建完整副本的一種方法是創建一個 循環遍歷數組的內容並創建一個新數組。

假設我們想要創建一個名為 summer_coffees 的 cafes 表 的完整副本。 這應該是一個完整的副本,因為我們打算修改 summer_coffees 的內容表格來反映我們將在夏季提供的新咖啡。

這是我們將使用 循環創建深層副本的代碼:

當我們運行我們的代碼時,輸出如下:

[Espresso, Mocha, Latte, Cappuccino, Pour over, Flat White]

如您所見,我們的代碼創建了原始數組的副本。我們一步一步解釋它是如何工作的:

  1. 我們導入 java.util.Arrays 其中包括 toString() 方法,我們將使用它來打印我們的數組到示例末尾的控制台。
  1. 我們聲明一個名為 cafes 的數組,它將咖啡列表存儲在我們的標準菜單中。
  2. 我們初始化一個名為 summer_coffees 的數組,該數組可以存儲六個值。
  3. 我們使用循環遍歷 cafe 列表中的每個項目。
  4. 每當循環執行時,summer_coffees 中 index 值為 i 的元素將被分配 cafes 中 code 索引值為 <> i 的元素。
  5. 我們使用 Arrays.toString() 將 summer_coffees 轉換為字符串,然後將新數組與我們複製的項目一起打印到控制台。

使用Java copyOfRange()方法

Java copyOfRange()方法複製Arrays .copyOfRange( ) 是 java.util.Arrays 類的一部分 下面是 copyOfRange () 方法的語法:

我們來分析copyOfRange()方法的語法:

  1. DataType是新建的數據類型數組將存儲。
  2. newArray 是新數組的名稱。
  3. oldArray 是其值為 ‚Äã 的數組,您要復製到 newArray 目錄。
  4. indexPos 是複制操作應該在 oldArray 中開始的位置。
  5. 長度 是應該從 oldArray newArray 複製的值“Äã”的數量。
  6. < /ol>

    我們舉個例子來說明copyOfRange()方法的作用。假設我們想要復制之前的 cafes 數組。我們可以使用以下代碼來做到這一點:

    我們的代碼返回:

    夏季咖啡:[Espresso、Moka、Latte、Cappuccino、Pour over、flat white]

    分解我們的代碼:

    1. 我們導入 java.util.Arrays 庫,其中存儲了 copyOfRange () 方法和 toString ()我們將在我們的示例中使用。
    2. 我們聲明一個名為 cafes 的數組,它將咖啡存儲在我們的標準菜單中。
    3. 我們聲明一個名為 的數組>summer_coffees 並使用 copyOfRange () 方法創建 cafes 數組 的副本。我們指定的參數如下:
      1. cafes是我們要復制的表名
      2. 表示我們。 coffee table 的索引位置開始復制值。
      3. coffees.length 表示我們要將每個值複製到這。列表
      4. 我們打印“summer coffees:”。接下來是控制台上名為 summer_coffees 的結果數組

      現在我們已經創建了一個名為 cafe 列表副本summer_coffees .

      使用Java Arraycopy() 方法

      arraycopy() 方法用於將數據從一個網絡複製到另一個網絡。 arraycopy() 方法是系統類的一部分,包括一組選項,允許您自定義創建現有數組的副本。

      以下是 arraycopy() 方法的語法:< br>

      System.arraycopy(sourceArray, StartingPos, newArray, newArrayStartingPos, length);

      打破這個Let down方法。 copyarray() 有五個參數:

      • sourceArray是你要復制的數組的名字
      • startingPos。 是您要開始將值複製到 source_array 的索引的位置。
      • newArray 是名稱值“Äã,Äã”將被複製到其中的新數組的位置。
      • newArrayStartingPos 是要添加複制的值“Äã,Äã”的索引位置。
      • length 是您要復製到 new_array 目錄的元素數量。

      回到咖啡店。假設我們要將 cafes 數組中的每個值複製到一個名為 summer_coffees 的新數組中。我們可以使用以下代碼來做到這一點:

      我們的代碼返回:

summer咖啡:[espresso、mocha、latte、cappuccino、Pour over、flat white]

逐步分解我們的代碼 -Step:

  1. 我們在程序開始時導入包 java.util.Arrays,包括我們將用於打印我們在程序結束時創建的數組副本的 toString () 方法。
  2. 我們聲明一個名為 coffe es 的數組,它將咖啡存儲在我們的標準菜單中。
  3. 我們初始化一個名為 summer_coffees 的數組它將包含 6 個值。
  4. 我們使用 arraycopy() 創建我們的 cafes 數組 的副本。這是我們指定的參數。
    1. cafes 是我們要復制的數組
    2. 是我們希望復制在 中開始的位置cafes 數組。
    3. summer_coffees 是我們希望將復制的值“Äã,Äã”附加到的數組。
    4. strong> 是我們希望復制的值,Äã,Äã 開始添加到 summer_coffees 數組的位置。
    5. coffees.length 是數組的數量我們要復制的元素。在這種情況下,使用 coffees.length 允許我們從 cafes 列表中復制每個項目。
    6. 我們打印一條顯示“summer coffees:”的消息,後面是我們創建的summer coffees列表
    7. 結論

      複製數組是使用時的常見操作列表。本教程探討了在 Java 中復制數組的四種方法。

      首先,我們討論瞭如何使用賦值運算符創建淺複製深度,因此我們繼續解釋如何使用 循環。所以我們探索瞭如何使用copyOfRange()方法來創建數組的副本,以及arraycopy()系統方法是如何用於復制數組的。

      你現在已經準備好開始在Java中復制數組了作為一個!親