Come aggiungere un oggetto a un ArrayList
in Kotlin?
Risposte:
Per le persone che migrano da java
, In Kotlin
List
è per impostazione predefinita immutabile e viene chiamata la versione modificabile di ListsMutableList
.
Quindi se hai qualcosa come:
val list: List<String> = ArrayList()
In questo caso non otterrai un add()
metodo in quanto list è immutabile. Quindi dovrai dichiarare un MutableList
come mostrato di seguito:
val list: MutableList<String> = ArrayList()
Ora vedrai un add()
metodo e potrai aggiungere elementi a qualsiasi elenco.
val list: MutableList<String> = ArrayList()
e val list = mutableListOf<String>()
?
Se hai una collezione MUTABILE :
val list = mutableListOf(1, 2, 3)
list += 4
Se hai una collezione IMMUTABILE :
var list = listOf(1, 2, 3)
list += 4
nota che uso val
per l'elenco modificabile per sottolineare che l'oggetto è sempre lo stesso, ma il suo contenuto cambia.
In caso di elenco immutabile, devi farlo var
. Un nuovo oggetto viene creato +=
dall'operatore con il valore aggiuntivo.
+=
in una lista non modificabile, richiedi di copiare tutti gli elementi della lista in una nuova lista modificabile e poi riassegnala alla tua lista attuale. Non sapevo fosse opportuno dichiarare la tua lista come var
. in ogni caso, dichiarare una lista come var non è una buona idea per me.
var
. Se una lista immutabile viene dichiarata come val
, allora la lista non potrà mai cambiare. Sarebbe possibile riassegnarlo a un'altra variabile.