Java 中2D 陣列的深度複製:綜合指南
在2D 陣列上使用.clone() 可能會導致淺複製,這可能會導致淺複製,這可能會導致意外的行為。要執行深度複製以建立原始數組的新獨立副本,需要更徹底的方法。
使用System.arraycopy 進行迭代深度複製
一種方法深度複製2D 布林數組的方法是迭代它並使用System.arraycopy 將每一行複製到新數組中。這涉及創建一個新的二維數組,然後迭代原始數組,將每一行逐個元素複製到新數組中的相應行中。
Java 6 選項:java.util.Arrays#copyOf
如果您使用的是Java 6 或更高版本,您可以使用java.util.Arrays# copyOf 方法來簡化此過程。此類別提供了複製數組的便捷方法。
範例程式碼:
以下程式碼範例示範如何使用迭代執行2D 布林陣列的深度複製方法:
public static boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } final boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); // For Java versions prior to Java 6 use the next: // System.arraycopy(original[i], 0, result[i], 0, original[i].length); } return result; }
透過以下步驟,您可以有效地在Java,確保對一個陣列所做的變更不會影響另一個陣列。
以上是如何在 Java 中執行二維數組的深度複製?的詳細內容。更多資訊請關注PHP中文網其他相關文章!