Como adicionar um item a um ArrayListem Kotlin?
Respostas:
Para pessoas que estão migrando de java, In Kotlin Listé por padrão imutável e uma versão mutável de Lists é chamada MutableList.
Portanto, se você tiver algo como:
val list: List<String> = ArrayList()
Nesse caso, você não obterá um add()método, pois list é imutável. Portanto, você terá que declarar um MutableListconforme mostrado abaixo:
val list: MutableList<String> = ArrayList()
Agora você verá um add()método e poderá adicionar elementos a qualquer lista.
val list: MutableList<String> = ArrayList()e val list = mutableListOf<String>()?
Se você tiver uma coleção MUTABLE :
val list = mutableListOf(1, 2, 3)
list += 4
Se você tiver uma coleção IMUTÁVEL :
var list = listOf(1, 2, 3)
list += 4
note que eu uso valpara a lista mutável para enfatizar que o objeto é sempre o mesmo, mas seu conteúdo muda.
No caso da lista imutável, você tem que fazê-la var. Um novo objeto é criado pelo +=operador com o valor adicional.
+=em uma lista não mutável, exigir a cópia de todos os elementos da lista em uma nova lista mutável e então reatribuí-la à sua lista real. Não sabia que era adequado declarar sua lista como var. de qualquer forma, declarar uma lista var não é uma boa ideia para mim.
var. Se uma lista imutável for declarada como val, então a lista nunca poderá ser alterada. Apenas reatribuí-lo a outra variável seria possível.