Класс HashSet
Класс HashSet представляет собой реализацию интерфейса Set,
которая использует хэш-таблицу для хранения элементов. Он не гарантирует
порядок элементов и не допускает дубликатов. Все элементы должны быть уникальными.
HashSet оптимизирован для быстрого поиска, добавления и удаления элементов.
Импорт
import kotlin.collections.HashSet
Синтаксис
class HashSet<E> : AbstractMutableSet<E>, Serializable
fun <E> hashSetOf(): HashSet<E>
fun <E> hashSetOf(vararg elements: E): HashSet<E>
Пример
Создадим пустое множество с помощью функции hashSetOf:
val set: HashSet<String> = hashSetOf()
println(set)
Результат выполнения кода:
HashSet []
Пример
Создадим множество с начальными элементами:
val set: HashSet<Int> = hashSetOf(1, 2, 3, 4, 5)
println(set)
Результат выполнения кода:
HashSet [1, 2, 3, 4, 5]
Пример
Попробуем добавить дубликаты в множество:
val set = hashSetOf('a', 'b', 'c', 'a', 'b')
println(set)
Результат выполнения кода:
HashSet ['a', 'b', 'c']
Пример
Проверим наличие элемента в множестве:
val set = hashSetOf(10, 20, 30, 40, 50)
val containsTwenty = set.contains(20)
val containsSixty = set.contains(60)
println("Contains 20: $containsTwenty")
println("Contains 60: $containsSixty")
Результат выполнения кода:
Contains 20: true
Contains 60: false
Пример
Добавим и удалим элементы из mutable HashSet:
val set = hashSetOf(1, 2, 3)
set.add(4)
set.add(5)
set.remove(2)
println(set)
Результат выполнения кода:
HashSet [1, 3, 4, 5]
Пример
Проверим размер множества и пустое ли оно:
val set1 = hashSetOf(1, 2, 3)
val set2 = hashSetOf<Int>()
println("Set1 size: ${set1.size}, empty: ${set1.isEmpty()}")
println("Set2 size: ${set2.size}, empty: ${set2.isEmpty()}")
Результат выполнения кода:
Set1 size: 3, empty: false
Set2 size: 0, empty: true
Смотрите также
-
интерфейс
Set,
базовый интерфейс для всех множеств -
интерфейс
MutableSet,
интерфейс для изменяемых множеств -
класс
LinkedHashSet,
который сохраняет порядок элементов -
класс
TreeSet,
который хранит элементы в отсортированном порядке