Класс LinkedHashSet
Класс LinkedHashSet представляет собой реализацию
интерфейса MutableSet, которая сохраняет порядок
вставки элементов и гарантирует уникальность элементов.
В первый параметр типа мы передаем тип элементов множества,
например String, Int и другие.
Импорт
import kotlin.collections.LinkedHashSet
Синтаксис
class LinkedHashSet<E> : MutableSet<E>
fun <E> linkedSetOf(): LinkedHashSet<E>
fun <E> linkedSetOf(vararg elements: E): LinkedHashSet<E>
Пример
Создадим пустое множество типа LinkedHashSet
для хранения строк:
val set: LinkedHashSet<String> = linkedSetOf()
println(set)
Результат выполнения кода:
LinkedHashSet []
Пример
Создадим множество типа LinkedHashSet
с начальными элементами и проверим сохранение порядка:
val set: LinkedHashSet<String> = linkedSetOf("c", "a", "b", "d", "e")
println(set)
Результат выполнения кода:
LinkedHashSet [c, a, b, d, e]
Пример
Добавим элементы в LinkedHashSet и убедимся,
что порядок вставки сохраняется:
val set = linkedSetOf<Int>()
set.add(3)
set.add(1)
set.add(2)
set.add(5)
set.add(4)
println(set)
Результат выполнения кода:
LinkedHashSet [3, 1, 2, 5, 4]
Пример
Попробуем добавить дубликаты в LinkedHashSet
и убедимся, что они игнорируются:
val set = linkedSetOf("a", "b", "c")
set.add("a")
set.add("b")
set.add("d")
println(set)
Результат выполнения кода:
LinkedHashSet [a, b, c, d]
Пример
Удалим элемент из LinkedHashSet и проверим результат:
val set = linkedSetOf(1, 2, 3, 4, 5)
set.remove(3)
println(set)
Результат выполнения кода:
LinkedHashSet [1, 2, 4, 5]
Пример
Проверим наличие элемента в LinkedHashSet:
val set = linkedSetOf("a", "b", "c", "d", "e")
val containsB = set.contains("b")
val containsF = set.contains("f")
println("Contains 'b': $containsB")
println("Contains 'f': $containsF")
Результат выполнения кода:
Contains 'b': true
Contains 'f': false
Пример
Итерируемся по LinkedHashSet и убеждаемся,
что порядок элементов сохраняется:
val set = linkedSetOf("c", "a", "b", "e", "d")
for (item in set) {
print("$item ")
}
Результат выполнения кода:
c a b e d
Смотрите также
-
интерфейс
Set,
который представляет базовый интерфейс для множеств -
интерфейс
MutableSet,
который представляет изменяемое множество -
класс
HashSet,
который представляет множество без сохранения порядка -
класс
TreeSet,
который представляет отсортированное множество