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