在 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中文網其他相關文章!