Avatar ·

Comment copier correctement une liste (list) en Kotlin : clonage, copie et copie profonde

Bonjour à tous ! Je viens de commencer à apprendre Kotlin et j'ai rencontré un problème inattendu en travaillant avec des listes. J'ai une liste de nombres `originalList`, et je veux en faire une copie pour modifier la copie sans affecter l'original. J'ai essayé simplement d'assigner une liste à une autre : ```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] — a changé ! println("Copied: $copiedList") // [1, 2, 3, 4, 5, 6] } ``` Comme vous pouvez le voir, lorsque je modifie `copiedList`, `originalList` change aussi. Cela se produit parce que la variable `copiedList` fait référence au même objet en mémoire, et non à une nouvelle copie des données. Je sais qu'en Java, pour copier des listes, on utilise