Como adicionar um item a um ArrayList
em 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 MutableList
conforme 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 val
para 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.