Как добавить элемент ArrayList
в Котлин?
89
Как добавить элемент ArrayList
в Котлин?
Для людей, которые только что мигрируют java
, In Kotlin
List
по умолчанию является неизменной, а вызывается изменяемая версия списков MutableList
.
Следовательно, если у вас есть что-то вроде:
val list: List<String> = ArrayList()
В этом случае вы не получите add()
метод, поскольку список неизменяем. Следовательно, вам нужно будет объявить a, MutableList
как показано ниже:
val list: MutableList<String> = ArrayList()
Теперь вы увидите add()
метод, и вы можете добавлять элементы в любой список.
val list: MutableList<String> = ArrayList()
иval list = mutableListOf<String>()
?Если у вас есть MUTABLE коллекция:
val list = mutableListOf(1, 2, 3) list += 4
Если у вас есть коллекция IMMUTABLE :
var list = listOf(1, 2, 3) list += 4
обратите внимание, что я использую
val
для изменяемого списка, чтобы подчеркнуть, что объект всегда один и тот же, но его содержимое изменяется.В случае неизменяемого списка вы должны его создать
var
.+=
Оператор создает новый объект с дополнительным значением.источник
+=
в неизменяемом списке требуется скопировать все элементы списка в новый изменяемый список, а затем переназначить его вашему фактическому списку. Я не знал, что было бы уместно объявить ваш список какvar
. в любом случае, объявлять список как var - не лучшая идея для меня.var
. Если неизменяемый список объявлен какval
, то список никогда не может измениться. Можно было бы просто переназначить его другой переменной.Если вы хотите специально использовать java ArrayList, вы можете сделать что-то вроде этого:
fun initList(){ val list: ArrayList<String> = ArrayList() list.add("text") println(list) }
В противном случае ответ @guenhter - это тот, который вы ищете.
источник