Rumah >Java >javaTutorial >Bagaimana untuk Deep Clone ArrayLists di Jawa?
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!