Rumah >Java >javaTutorial >Bagaimana untuk Deep Clone ArrayLists di Jawa?

Bagaimana untuk Deep Clone ArrayLists di Jawa?

Linda Hamilton
Linda Hamiltonasal
2025-01-01 02:00:09331semak imbas

How to Deep Clone ArrayLists in Java?

Mengklon ArrayLists dan Kandungannya

Di Java, pengklonan dalam ArrayList melibatkan mencipta senarai baharu yang mengandungi contoh baharu objek senarai asal , bukannya merujuk kepada objek asal. Untuk mencapai matlamat ini, pendekatan yang komprehensif diperlukan.

Pengklonan Tersuai

Satu kaedah ialah mencipta pembina klon tersuai untuk objek yang disimpan dalam ArrayList. Pembina ini akan menduplikasi medan setiap objek, mencipta salinan baharu dengan berkesan dan bukannya rujukan semata-mata kepada yang asal.

Contohnya, dengan kelas Anjing:

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

    public Dog(Dog dog) {
        // Copy all the fields of Dog.
    }
}

Dengan mengulang melalui ArrayList asal dan mencipta objek Anjing baharu menggunakan pembina ini, senarai klon dengan objek bebas boleh dicipta:

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;
}

Antara Muka Boleh Diklon

Selain itu, mentakrifkan antara muka ICloneable tersuai dengan kaedah klon() boleh mendayakan pengklonan generik untuk pelbagai jenis objek. Walau bagaimanapun, perlu diingat bahawa pendekatan ini memerlukan pelaksanaan logik pengklonan untuk setiap jenis yang perlu diklon.

Atas ialah kandungan terperinci Bagaimana untuk Deep Clone ArrayLists di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn