Java での 2D 配列のディープ コピー
Java では、 clone() メソッドを使用して 2D 配列のクローンを作成しても、ディープ コピーは作成されません。その結果、クローン化されたアレイに加えられた変更が、元のアレイに誤って影響を与える可能性があります。この記事では、2D ブール配列のディープ コピーを実行する方法について説明します。
配列の反復
1 つのアプローチは、配列を手動で反復し、新しい配列を作成することです。値をコピーして配列を作成します。各内部配列について、System.arraycopy() を使用してディープ コピーを確保できます。
Java 6 Arrays.copyOf() の使用
Java を使用している場合6 以降では、Arrays.copyOf() メソッドの利用を検討してください。このメソッドは、ブール配列を含むプリミティブ型の配列のディープ コピーを作成するために使用できます。
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); } return result; }
このコードは、元の配列を反復処理し、内部配列ごとに新しい配列を作成し、Arrays.copyOf を使用します。 () を使用して値をコピーします。これにより、新しい配列への変更が元の配列に影響を与えないディープ コピーが確実に作成されます。
以上がJavaで2Dブール配列をディープコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。