Heim > Java > javaLernprogramm > Wie erstelle ich eine echte Kopie einer Java-ArrayList: Referenz vs. unabhängiges Objekt?

Wie erstelle ich eine echte Kopie einer Java-ArrayList: Referenz vs. unabhängiges Objekt?

Mary-Kate Olsen
Freigeben: 2024-11-16 05:31:03
Original
759 Leute haben es durchsucht

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

Kopiervorgänge in Java ArrayList: Referenzverhalten verstehen

Beim Zuweisen einer Referenz zu einem Java-Objekt, beispielsweise einer ArrayList, wird die Referenz einfach kopiert Wert, nicht das Objekt selbst. Im Fall von ArrayLists bedeutet die Zuweisung von l1 zu l2, dass beide Referenzen auf dasselbe ArrayList-Objekt verweisen. Alle nachfolgenden Änderungen, die über l2 vorgenommen werden, werden auch in l1 widergespiegelt.

Es gibt jedoch Szenarien, in denen Sie möglicherweise eine Kopie des ArrayList-Objekts und nicht nur eine Referenz benötigen. Um dies zu erreichen, können Sie ein neues ArrayList-Objekt erstellen und es füllen, indem Sie mithilfe von Sammlungsmethoden wie addAll() Elemente aus der ursprünglichen ArrayList kopieren. Dieser Prozess erstellt ein neues ArrayList-Objekt mit seiner eigenen zugrunde liegenden Datenstruktur, wodurch die Kopie vom Original unabhängig wird.

Codebeispiel:

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]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine echte Kopie einer Java-ArrayList: Referenz vs. unabhängiges Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage