Comment ajouter un article à un ArrayList
dans Kotlin?
89
Comment ajouter un article à un ArrayList
dans Kotlin?
Pour les personnes qui migrent depuis java
, In Kotlin
List
est par défaut une version immuable et modifiable de Lists est appelée MutableList
.
Par conséquent, si vous avez quelque chose comme:
val list: List<String> = ArrayList()
Dans ce cas, vous n'obtiendrez pas de add()
méthode car la liste est immuable. Par conséquent, vous devrez déclarer un MutableList
comme indiqué ci-dessous:
val list: MutableList<String> = ArrayList()
Vous verrez maintenant une add()
méthode et vous pouvez ajouter des éléments à n'importe quelle liste.
val list: MutableList<String> = ArrayList()
etval list = mutableListOf<String>()
?Si vous avez une collection MUTABLE :
val list = mutableListOf(1, 2, 3) list += 4
Si vous avez une collection IMMUTABLE :
var list = listOf(1, 2, 3) list += 4
notez que j'utilise
val
pour la liste mutable pour souligner que l'objet est toujours le même, mais que son contenu change.Dans le cas de la liste immuable, vous devez la créer
var
. Un nouvel objet est créé par l'+=
opérateur avec la valeur supplémentaire.la source
+=
dans une liste non mutable, exiger de copier tous les éléments de la liste dans une nouvelle liste mutable puis la réaffecter à votre liste actuelle. Je ne savais pas qu'il convenait de déclarer votre liste commevar
. de toute façon, déclarer une liste var n'est pas une bonne idée pour moi.var
. Si une liste immuable est déclarée commeval
, la liste ne pourra jamais changer. Il serait simplement possible de le réaffecter à une autre variable.Si vous souhaitez utiliser spécifiquement java ArrayList, vous pouvez faire quelque chose comme ceci:
fun initList(){ val list: ArrayList<String> = ArrayList() list.add("text") println(list) }
Sinon, la réponse @guenhter est celle que vous recherchez.
la source