Какие знаешь реализации List в Kotlin

«Какие знаешь реализации List в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin есть несколько реализаций List:

  1. ArrayList – изменяемый список на основе массива. Быстрый доступ по индексу (O(1)), но вставка/удаление в середину – O(n).
val list = arrayListOf(1, 2, 3)
list.add(4)
  1. LinkedList – изменяемый список на основе связных узлов. Вставка/удаление – O(1), но доступ по индексу – O(n) (редко используется в Kotlin/Android).

  2. MutableList – интерфейс для изменяемых списков (обычно реализуется ArrayList).

  3. Неизменяемые списки (List) – создаются через listOf(). Не поддерживают модификацию.

val immutableList = listOf("a", "b")

Для особых случаев:

  • Vector – устаревший синхронизированный аналог ArrayList.
  • CopyOnWriteArrayList – потокобезопасный список (изменения создают копию).