Java での 2D 配列のディープ コピー
java.lang.clone() メソッドは、配列の浅いコピーを作成します。元の配列への参照を複製するだけです。コピーを変更しても、元の配列には影響します。一方、ディープ コピーは、独自の要素セットを持つ配列の完全に別個のインスタンスを作成します。
ディープ コピーの実行
boolean[][] 配列のディープコピーの場合、配列を反復処理して、それぞれに新しい配列を作成できます。行:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); } return result; }
Java 6 より前の Java バージョンの場合、以下に示すように System.arraycopy を使用できます:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = new boolean[original[i].length]; System.arraycopy(original[i], 0, result[i], 0, original[i].length); } return result; }
以上がJava で 2D ブール配列のディープ コピーを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。