Come aggiungere un oggetto a un ArrayListin 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 MutableListcome 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 valper 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.