Heim >Java >javaLernprogramm >Wie wirken sich Referenzen und Zuweisungen auf ArrayList-Kopien in Java aus?

Wie wirken sich Referenzen und Zuweisungen auf ArrayList-Kopien in Java aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-26 09:55:15658Durchsuche

How Do References and Assignments Impact ArrayList Copies in Java?

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!

Stellungnahme:
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