Heim >Java >javaLernprogramm >Wie wirken sich Referenzen und Zuweisungen auf ArrayList-Kopien in Java aus?
Java Array List Copy: Referenzverhalten verstehen
Bei der Arbeit mit Sammlungen in Java ist es wichtig, das Verhalten von Referenzen und Zuweisungen zu verstehen. Betrachten Sie ein Beispiel, in dem wir ein ArrayList-Objekt l1 haben und seine Referenz einer neuen Variablen l2 zuweisen.
Referenzzuweisung in Java
In Java sind Zuweisungsvorgänge, die Objekte betreffen, einfach Kopieren Sie die Referenz des Objekts, nicht das Objekt selbst. Wenn l1 l2 zugewiesen wird, verweisen daher l1 und l2 beide auf dasselbe ArrayList-Objekt. Alle über l1 oder l2 vorgenommenen Änderungen werden in beiden Referenzen widergespiegelt.
Beispielillustration
Im bereitgestellten Codeausschnitt:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
Wenn l1 mithilfe der Referenz von l2 gelöscht wird, ist auch die Referenz von l1 betroffen. Dies zeigt, dass sowohl l1 als auch l2 auf dasselbe ArrayList-Objekt verweisen.
Flaches Kopieren in Java
So erstellen Sie eine Kopie eines ArrayList-Objekts (auch als flaches Kopieren bezeichnet). kopieren), können Sie den ArrayList-Konstruktor mit einem bestimmten Argument verwenden:
List<Integer> newList = new ArrayList<>(oldList);
Dieser Ansatz erstellt ein neues ArrayList-Objekt mit einer Kopie der Elemente aus der oldList-Referenz. Nachfolgende Änderungen an der newList wirken sich nicht auf die oldList-Referenz aus und umgekehrt.
Wenn Sie verstehen, wie Referenzen funktionieren, und Techniken wie flaches Kopieren nutzen, können Sie Sammlungen in Java effektiv manipulieren, die Datenintegrität sicherstellen und unbeabsichtigte Folgen vermeiden.
Das obige ist der detaillierte Inhalt vonWie wirken sich Referenzen und Zuweisungen auf ArrayList-Kopien in Java aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!