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

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

Ответ

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

  1. HashSet - основан на хэш-таблице, не гарантирует порядок элементов, операции добавления/удаления/поиска O(1) в среднем случае.
val hashSet = hashSetOf(1, 2, 3)
  1. LinkedHashSet - сохраняет порядок вставки элементов, использует хэш-таблицу с поддержкой связного списка, операции O(1).

  2. TreeSet - хранит элементы в отсортированном порядке (по умолчанию - возрастание), основан на красно-черном дереве, операции O(log n).

val treeSet = sortedSetOf(3, 1, 2) // [1, 2, 3]
  1. Immutable Set (Set) - создается через setOf(), неизменяемый после создания.

Для выбора реализации учитывайте требования к производительности и необходимость сохранения порядка элементов.