Интерфейс Set

Интерфейс Set представляет коллекцию, которая содержит только уникальные элементы без определенного порядка. Наследуется от интерфейса Collection. Элементы в множестве не могут повторяться, и попытка добавить дубликат будет проигнорирована.

Создание Set

kotlinval numbers: Set<Int> = setOf(1, 2, 3, 4, 5)
val letters: Set<Char> = setOf('a', 'b', 'c', 'd', 'e')
val emptySet: Set<String> = emptySet()

Основные операции

Проверка наличия элемента в множестве:

kotlinval numbers = setOf(1, 2, 3, 4, 5)
val containsThree = numbers.contains(3)
val containsSix = numbers.contains(6)
println(containsThree)
println(containsSix)

Результат выполнения кода:

kotlinBoolean true
Boolean false

Получение размера множества:

kotlinval numbers = setOf(1, 2, 3, 4, 5)
val size = numbers.size
println(size)

Результат выполнения кода:

kotlinInt 5

Пример

Проверка на пустоту множества:

kotlinval numbers = setOf(1, 2, 3)
val emptySet = emptySet<Int>()

val isEmpty1 = numbers.isEmpty()
val isEmpty2 = emptySet.isEmpty()

println(isEmpty1)
println(isEmpty2)

Результат выполнения кода:

kotlinBoolean false
Boolean true

Пример

Итерация по элементам множества:

kotlinval letters = setOf('a', 'b', 'c', 'd', 'e')

for (letter in letters) {
  println(letter)
}

Результат выполнения кода:

kotlinChar a
Char b
Char c
Char d
Char e

Пример

Операции с множествами:

kotlinval set1 = setOf(1, 2, 3, 4, 5)
val set2 = setOf(4, 5, 6, 7, 8)

val union = set1.union(set2)
val intersection = set1.intersect(set2)
val difference = set1.subtract(set2)

println(union)
println(intersection)
println(difference)

Результат выполнения кода:

kotlinSet<Int> [1, 2, 3, 4, 5, 6, 7, 8]
Set<Int> [4, 5]
Set<Int> [1, 2, 3]

Смотрите также

  • интерфейс MutableSet,
    который представляет изменяемое множество
  • интерфейс Collection,
    который является родительским интерфейсом для Set
  • интерфейс List,
    который представляет упорядоченную коллекцию
  • интерфейс Map,
    который представляет коллекцию пар ключ-значение