Как добавить элемент 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, то список никогда не может измениться. Можно было бы просто переназначить его другой переменной.