首頁  >  文章  >  Java  >  如何在 Java 中有效複製二維數組:'clone()”與'System.arraycopy()”

如何在 Java 中有效複製二維數組:'clone()”與'System.arraycopy()”

DDD
DDD原創
2024-10-28 21:23:02200瀏覽

How to Effectively Copy a 2D Array in Java: `clone()` vs. `System.arraycopy()`

如何在 Java 中複製 2D 陣列

在 Java 中複製 2D 陣列可能是一項棘手的任務。一種方法是使用循環手動將每個元素從原始數組複製到新數組。然而,這可能很乏味並且容易出錯。

複製二維數組的更好方法是使用clone()方法或System.arraycopy()。

使用clone

clone() 方法建立一個新數組,它是原始數組的副本。要使用clone()方法,您可以執行以下操作:

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
    myInt[i] = matrix[i].clone();
</code>

使用System.arraycopy()

System.arraycopy()方法是另一種方法複製數組的方法。它採用以下參數:

  • 來源數組
  • 來源數組中的起始索引
  • 目標數組
  • 中的起始索引目標數組
  • 要複製的元素數量

要使用System.arraycopy() 複製二維數組,您可以執行以下操作:

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
{
  int[] aMatrix = matrix[i];
  int   aLength = aMatrix.length;
  myInt[i] = new int[aLength];
  System.arraycopy(aMatrix, 0, myInt[i], 0, aLength);
}</code>

clone()方法和System.arraycopy() 都是複製二維數組的有效方法。然而,System.arraycopy() 通常速度更快且不易出錯。

以上是如何在 Java 中有效複製二維數組:'clone()”與'System.arraycopy()”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn