Wie man eine Liste (list) in Kotlin richtig kopiert: Klonen, Kopieren und Deep Copy
Hallo zusammen! Ich habe gerade angefangen, Kotlin zu lernen, und bin auf ein unerwartetes Problem bei der Arbeit mit Listen gestoßen.
Ich habe eine Liste von Zahlen `originalList` und möchte eine Kopie davon erstellen, sodass ich die Kopie ändern kann, ohne das Original zu beeinflussen. Ich habe versucht, einfach eine Liste der anderen zuzuweisen:
```kotlin
fun main() {
val originalList = mutableListOf(1, 2, 3, 4, 5)
val copiedList = originalList
copiedList.add(6)
println("Original: $originalList") // [1, 2, 3, 4, 5, 6] — geändert!
println("Copied: $copiedList") // [1, 2, 3, 4, 5, 6]
}
```
Wie ihr seht, ändert sich bei der Modifikation von `copiedList` auch `originalList`. Das passiert, weil die Variable `copiedList` auf dasselbe Objekt im Speicher verweist, nicht auf eine neue Kopie der Daten.
Ich weiß, dass man in Java zum Kopieren von Listen