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.