Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mencipta Salinan Benar Java ArrayList: Rujukan vs. Objek Bebas?

Bagaimana untuk Mencipta Salinan Benar Java ArrayList: Rujukan vs. Objek Bebas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 05:31:03682semak imbas

How to Create a True Copy of a Java ArrayList: Reference vs. Independent Object?

Salin Operasi dalam Java ArrayList: Memahami Kelakuan Rujukan

Menetapkan rujukan kepada objek Java, seperti ArrayList, hanya menyalin rujukan nilai, bukan objek itu sendiri. Dalam kes ArrayLists, memberikan l1 kepada l2 bermakna kedua-dua rujukan menghala ke objek ArrayList yang sama. Sebarang perubahan seterusnya yang dibuat melalui l2 juga akan ditunjukkan dalam l1.

Walau bagaimanapun, terdapat senario di mana anda mungkin memerlukan salinan objek ArrayList, bukan hanya rujukan. Untuk mencapai matlamat ini, anda boleh mencipta objek ArrayList baharu dan mengisinya dengan menyalin elemen daripada ArrayList asal menggunakan kaedah pengumpulan seperti addAll(). Proses ini mencipta objek ArrayList baharu dengan struktur data asasnya sendiri, menjadikan salinan bebas daripada yang asal.

Contoh Kod:

List<Integer> l1 = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
    l1.add(i);
}

// Create a new ArrayList object to copy the elements into
List<Integer> l2 = new ArrayList<>();
l2.addAll(l1);

// Clear the original list using l2
l2.clear();

// Original list l1 remains unaffected
System.out.println(l1); // Prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Salinan Benar Java ArrayList: Rujukan vs. Objek Bebas?. 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