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

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

Patricia Arquette
リリース: 2024-12-26 13:38:10
オリジナル
407 人が閲覧しました

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート