> Какие коллекции существуют в Kotlin и каковы их особенности (Kotlin, Android)
Уровень: senior · Роль: mobile · Категория: Технические вопросы
Компании: MTS, Ozon, Rutube, Dogma, Avito, Одноклассники, IBS
Стек: Kotlin, Android
> Пример ответа
В Kotlin коллекции делятся на изменяемые (mutable) и неизменяемые (immutable). Основные типы:
-
List - упорядоченная коллекция с доступом по индексу. Неизменяемая версия -
listOf(), изменяемая -mutableListOf(). Позволяет дубликаты. Особенность: Kotlin разделяет интерфейсыList(только чтение) иMutableList(добавление/удаление). -
Set - коллекция уникальных элементов, порядок не гарантирован.
setOf()для неизменяемого,mutableSetOf()для изменяемого. Реализации:HashSet,LinkedHashSet(сохраняет порядок вставки),TreeSet(сортировка). -
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)
> Похожие задачи по mobile
Есть ли в Kotlin аналог equals и hashCode и как это реализовано
Что такое Kotlin Coroutines
Для чего нужен класс Any в Kotlin и какие у него методы
Почему происходит ошибка при обращении к неинициализированной переменной в Kotlin и где это происходит
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью