Основные интерфейсы коллекций в Kotlin-е

В Kotlin (особенно в JVM-ориентированных проектах, таких как Android), основные коллекции строятся поверх Java Collection Framework, но Kotlin добавляет расширения, безопасный синтаксис и функциональный стиль.

Основные интерфейсы коллекций в Kotlin

ИнтерфейсНазначениеПример реализации
Collection<T>Базовый интерфейс для всех коллекцийList, Set, MutableList
List<T>Упорядоченная коллекция с доступом по индексуlistOf(1, 2, 3)
Set<T>Уникальные элементы без порядка (по умолчанию)setOf("a", "b")
Map<K, V>Пары ключ-значениеmapOf("a" to 1)

Их изменяемые аналоги:

ИнтерфейсОписаниеПример создания
MutableCollection<T>Расширяет Collection<T> с изменениями
MutableList<T>Список с возможностью изменять элементыmutableListOf(1, 2)
MutableSet<T>Мутируемое множествоmutableSetOf("a", "b")
MutableMap<K, V>Мутируемая мапаmutableMapOf("a" to 1)

Iterable<T>

Базовый интерфейс, содержит:

  • iterator(): Iterator<T>
  • Используется в for (item in collection)

Collection<T>

Наследуется от Iterable, добавляет:

  • size, contains(), isEmpty(), containsAll()

List<T>

  • Сохраняет порядок
  • Поддерживает дубли
  • Доступ по индексу: list[0]

Set<T>

  • Без дубликатов (equals() и hashCode() определяют уникальность)
  • Реализация по умолчанию: LinkedHashSet (сохраняет порядок вставки)
  • Есть HashSet, SortedSet, TreeSet (Java)

Map<K, V>

  • Пары ключ-значение
  • Ключи уникальны
  • Методы: get(key), keys, values, entries

Опубликовано

в

,

от

Метки: