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]
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!