Quelle est la différence entre ArrayList<String>() et mutableListOf<String>() en Kotlin ?
Bonjour ! J'ai commencé à apprendre Kotlin après Java et j'ai remarqué qu'il existe deux façons de créer une liste mutable :
```kotlin
val list1: ArrayList = ArrayList()
val list2: MutableList = mutableListOf()
```
Les deux options semblent fonctionner de la même manière : je peux ajouter, supprimer et modifier des éléments. Mais ce qui me trouble, c'est que dans un cas le type est explicitement `ArrayList`, et dans l'autre `MutableList`.
J'ai essayé d'écrire ce code :
```kotlin
fun processList(list: MutableList) {
list.add("Kotlin")
}
val arrayList = ArrayList()
val mutableList = mutableListOf()
processList(arrayList) // fonctionne
processList(mutableList) // fonctionne aussi
```
Les deux listes sont passées à une fonction qui attend `MutableList`. Cela signifie-t-il que c'est la même chose ? Ou y a-t-il des différences subtiles en termes de performance, mémoire ou comportement ?
Peut-être que `mutableListOf()` ne retourne pas un `ArrayList`, mais une autre implémentation ? Ou est-ce que c'est la même chose ?
No answers yet.
Connectez-vous pour laisser une réponse