Ответ
В Kotlin есть несколько реализаций List:
ArrayList– изменяемый список на основе массива. Быстрый доступ по индексу (O(1)), но вставка/удаление в середину –O(n).
val list = arrayListOf(1, 2, 3)
list.add(4)
-
LinkedList– изменяемый список на основе связных узлов. Вставка/удаление –O(1), но доступ по индексу –O(n)(редко используется в Kotlin/Android). -
MutableList– интерфейс для изменяемых списков (обычно реализуетсяArrayList). -
Неизменяемые списки (
List) – создаются черезlistOf(). Не поддерживают модификацию.
val immutableList = listOf("a", "b")
Для особых случаев:
Vector– устаревший синхронизированный аналогArrayList.CopyOnWriteArrayList– потокобезопасный список (изменения создают копию).