首頁 > Java > java教程 > 如何在 Java 中有效複製 2D 陣列:Clone 與 System.arraycopy()

如何在 Java 中有效複製 2D 陣列:Clone 與 System.arraycopy()

Patricia Arquette
發布: 2024-11-03 07:29:02
原創
832 人瀏覽過

How to Effectively Copy 2D Arrays in Java: Clone vs. System.arraycopy()

在 Java 中複製 2D 陣列

使用 2D 陣列時,通常需要建立副本以進行編輯或保留原始資料。在 Java 中,有多種方法可以實現此目的。

選項1:使用克隆

clone() 方法提供了一種快速方法來建立物件的淺表副本二維數組,僅複製對數組元素的引用。要使用此方法:

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

選項2:使用System.arraycopy()

為了更受控和更有效率的複製,可以使用System.arraycopy ()用過的。它允許您複製2D 數組的特定部分:

<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() 提供了更大的靈活性,並且可能比 Clone() 執行得更快,因為它是在本機程式碼中實現的。它還避免了使用clone()進行淺拷貝時可能發生的資料損壞。

透過理解這些方法,您可以在Java程式碼中有效地複製和操作2D數組,確保資料完整性並避免常見的情況陷阱。

以上是如何在 Java 中有效複製 2D 陣列:Clone 與 System.arraycopy()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板