> Какие коллекции существуют в Kotlin и каковы их особенности (Kotlin, Android)

Уровень: senior · Роль: mobile · Категория: Технические вопросы

Компании: MTS, Ozon, Rutube, Dogma, Avito, Одноклассники, IBS

Стек: Kotlin, Android

> Пример ответа

В Kotlin коллекции делятся на изменяемые (mutable) и неизменяемые (immutable). Основные типы:

  1. List - упорядоченная коллекция с доступом по индексу. Неизменяемая версия - listOf(), изменяемая - mutableListOf(). Позволяет дубликаты. Особенность: Kotlin разделяет интерфейсы List (только чтение) и MutableList (добавление/удаление).

  2. Set - коллекция уникальных элементов, порядок не гарантирован. setOf() для неизменяемого, mutableSetOf() для изменяемого. Реализации: HashSet, LinkedHashSet (сохраняет порядок вставки), TreeSet (сортировка).

  3. Map - коллекция пар "ключ-значение". Ключи уникальны. mapOf() и mutableMapOf(). Реализации: HashMap, LinkedHashMap, TreeMap.

Важные особенности:

  • Kotlin явно разделяет изменяемые и неизменяемые интерфейсы, что улучшает безопасность и читаемость кода.
  • Встроенные функции высшего порядка: filter, map, forEach, groupBy и другие, работающие с любыми коллекциями.
  • Sequence - ленивая коллекция для цепочек операций без создания промежуточных списков (аналог Stream в Java).
  • Для Android-разработки часто используют ArrayList, HashSet, HashMap как базовые реализации, но Kotlin предоставляет удобные фабричные методы.

Пример:

val numbers = listOf(1, 2, 3) // неизменяемый
val mutableNumbers = mutableListOf(1, 2, 3) // изменяемый
mutableNumbers.add(4)

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью