Nein, das ist nicht so. Du hast jetzt zwar verschiedene "Schubladen" (die beiden Listen), aber das was drinnen ist, ist dasselbe, weil Du wieder nur Referenzen (in dem Fall Referenzen auf die Elemente) hin und herschiebst. Genau der gleiche Denkfehler wie bei Deinem ersten Versuch mit den Listen. Wenn Du unabhängige Kopien haben willst, musst Du immer etwas mehr machen als ein schlichtes:
[code=Java]
// Erzeugt NIEMALS eine unabhängige Kopie,
// Egal, um was für einen Typen es sich hier handelt
variable1 = variable2;
// Das auch nicht, hier haben die Referenzen zwar keine
// Namen, sondern "stecken" in
// Containern, aber semantisch ist das nichts anderes als oben.
arrayList2.add(arrayList1.get(i));
[/code]
Das "mehr Machen" kann ein geeigneter Konstruktor sein, der die Werte des Originals in die Kopie setzt, das kann eine clone()-Methode sein. Das kann eine statische Hilfsmethode sein(wie bei Collections.copy()) oder oder.