Dalam Java, ArrayLists ialah tatasusunan dinamik yang boleh digunakan untuk menyimpan elemen jenis tertentu. Apabila bekerja dengan ArrayLists, adalah penting untuk memahami bagaimana tugasan berfungsi.
Andaikan kita mempunyai ArrayList l1 dengan 10 elemen dan berikannya kepada pembolehubah l2 yang lain. Adakah l1 dan l2 menunjuk ke objek ArrayList yang sama, atau adakah salinan objek diberikan kepada l2?
Tugasan dalam Java hanya menyalin nilai pembolehubah, yang dalam kes ini adalah rujukan kepada objek ArrayList. Akibatnya, l1 dan l2 kedua-duanya akan merujuk kepada objek ArrayList yang sama.
Contohnya:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
Dalam kes ini, mengosongkan l2 juga mempengaruhi l1 kerana kedua-duanya menunjuk ke arah yang sama objek.
Untuk mencipta salinan objek ArrayList, salinan cetek boleh dibuat dengan mencipta ArrayList baharu dan menambah elemen daripada senarai asal kepada yang baharu:
List<Integer> newList = new ArrayList<>(oldList);
Kaedah ini menghasilkan objek ArrayList yang berasingan dengan elemen yang sama seperti yang asal.
Atas ialah kandungan terperinci Adakah Tugasan ArrayList Java Mencipta Salinan atau Rujukan Dikongsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!