Avatar ·

Quelle est la différence entre List et Array en Kotlin ? Quand utiliser quoi ?

Bonjour, collègues ! Je viens de commencer à apprendre Kotlin et je suis passé de Java. En Kotlin, il y a deux types similaires : `List` et `Array`. Je vois que les deux stockent plusieurs éléments, mais je ne comprends pas la différence clé et quand utiliser quoi. Par exemple, j'écris un programme simple pour stocker les noms d'étudiants : ```kotlin val namesArray = arrayOf("Alice", "Bob", "Charlie") val namesList = listOf("Alice", "Bob", "Charlie") ``` Les deux fonctionnent, je peux accéder par index : `namesArray[0]` et `namesList[0]` — les deux retournent "Alice". Mais j'ai remarqué que `Array` a une propriété `size`, tandis que `List` a `count()`. Aussi, je peux modifier un élément du tableau : ```kotlin namesArray[0] = "Eve" // fonctionne namesList[0] = "Eve" // erreur de compilation ``` Pourquoi cela ? Et j'ai aussi entendu que `List` peut être mutable (`MutableList`), alors qu'un tableau est toujours mutable. Mais alors pourquoi `Array` est-il nécessaire si `MutableList` fait la même chose ? Et comment cela est-il lié à la performance ? S'il vous plaît, expliquez quelle est la différence fondamentale.