ホームページ >Java >&#&チュートリアル >Java で 2D ブール配列のディープ コピーを実行するにはどうすればよいですか?

Java で 2D ブール配列のディープ コピーを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-19 02:55:101055ブラウズ

How to Perform a Deep Copy of a 2D Boolean Array in Java?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。