在Java 中複製二維數組
在Java 中複製多維數組可能很棘手,因為將一個數組分配給另一個數組只是創建一個引用原始資料而不是真實副本。要建立真正的副本,您需要分配新的記憶體並單獨複製元素。
在您的情況下,您有兩種方法,old() 和 keepold(),將目前陣列複製到 old 和vice反之亦然。但是,當您更新目前版本時,變更也會反映在舊版本中,因為它們都引用相同的基礎資料。
要建立真實副本,您可以使用下列步驟:
使用streams API(Java 8),您可以簡化此過程:
<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>
這一行使用了map()方法為每一行建立一個新數組,然後使用clone() 方法複製每一行,最後使用toArray() 方法從複製的行建立新的二維數組。
以上是如何在 Java 中建立二維數組的深拷貝?的詳細內容。更多資訊請關注PHP中文網其他相關文章!