如何在 Java 中有效複製 2D 陣列
許多程式設計師在嘗試用 Java 複製 2D 陣列時會遇到困難。此任務需要精確處理,以確保在不修改原始數組的情況下準確複製。
要應對這項挑戰,請考慮利用原生 Java 函數 clone() 和 System.arraycopy(),它們提供高效可靠的解決方案。
使用 clone() 進行 2D 陣列複製
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() 進行 2D 數組複製
或者,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>
此方法涉及建立一個新的二維數組,然後使用 System.arraycopy() 將原始數組中的每一行複製到新數組中的對應行。
clone() 和 System.arraycopy() 都為在 Java 中複製 2D 陣列提供了有效且直觀的解決方案。雖然clone()創建的是淺拷貝,但System.arraycopy()提供了更高的效率,並且由於其本機實作而不易出錯。
以上是捕捉問答格式和文章本質的最佳標題是: 如何在Java中高效地複製二維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!