ホームページ > Java > &#&チュートリアル > Java で ArrayList のディープクローンを作成するには?

Java で ArrayList のディープクローンを作成するには?

Linda Hamilton
リリース: 2025-01-01 02:00:09
オリジナル
312 人が閲覧しました

How to Deep Clone ArrayLists in Java?

ArrayList とその内容のクローン作成

Java では、ArrayList のディープ クローン作成には、元のリストのオブジェクトの新しいインスタンスを含む新しいリストの作成が含まれます、元のオブジェクトへの参照ではなく。これを実現するには、包括的なアプローチが必要です。

カスタム クローン作成

1 つの方法は、ArrayList に格納されているオブジェクトのカスタム クローン コンストラクターを作成することです。このコンストラクターは各オブジェクトのフィールドを複製し、元のオブジェクトへの単なる参照ではなく新しいコピーを効果的に作成します。

たとえば、Dog クラスの場合:

class Dog {
    public Dog() { ... } // Regular constructor

    public Dog(Dog dog) {
        // Copy all the fields of Dog.
    }
}
ログイン後にコピー

次のように反復処理します。元の ArrayList を作成し、このコンストラクターを使用して新しい Dog オブジェクトを作成すると、独立したオブジェクトを含むクローン リストを作成できます。 created:

public static List<Dog> cloneList(List<Dog> dogList) {
    List<Dog> clonedList = new ArrayList<>(dogList.size());
    for (Dog dog : dogList) {
        clonedList.add(new Dog(dog));
    }
    return clonedList;
}
ログイン後にコピー

Cloneable Interface

さらに、 clone() メソッドを使用してカスタム ICloneable インターフェイスを定義すると、さまざまな種類のオブジェクトの汎用クローン作成が可能になります。ただし、このアプローチでは、クローンを作成する必要があるタイプごとにクローン ロジックを実装する必要があることに注意してください。

以上がJava で ArrayList のディープクローンを作成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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