Функция toSet

Функция toSet преобразует исходную коллекцию в неизменяемое множество типа Set. При этом удаляются все дубликаты элементов, сохраняется только первое вхождение каждого уникального элемента. Сохраняется порядок элементов исходной коллекции.

Синтаксис

kotlinfun <T> Iterable<T>.toSet(): Set<T>
kotlinfun <T> Array<T>.toSet(): Set<T>

Пример

Преобразуем список с дубликатами в множество:

kotlinval list = listOf(1, 2, 3, 2, 1, 4, 5)
val res: Set<Int> = list.toSet()
println(res)

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

kotlinSet<Int> [1, 2, 3, 4, 5]

Пример

Преобразуем массив строк в множество:

kotlinval arr = arrayOf("a", "b", "c", "a", "d")
val res: Set<String> = arr.toSet()
println(res)

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

kotlinSet<String> ['a', 'b', 'c', 'd']

Пример

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

kotlinval range = 1..10
val res: Set<Int> = range.toSet()
println(res)

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

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

Пример

Множество сохраняет порядок элементов исходной коллекции, но удаляет дубликаты:

kotlinval numbers = listOf(5, 3, 5, 1, 3, 2, 5, 4)
val uniqueNumbers: Set<Int> = numbers.toSet()
println("Original: $numbers")
println("Unique: $uniqueNumbers")

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

kotlinOriginal: [5, 3, 5, 1, 3, 2, 5, 4]
Unique: [5, 3, 1, 2, 4]

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

  • функцию toMutableSet,
    которая преобразует в изменяемое множество
  • функцию toHashSet,
    которая преобразует в HashSet
  • функцию toSortedSet,
    которая преобразует в отсортированное множество
  • функцию toList,
    которая преобразует в список