Класс TreeSet

Класс TreeSet представляет собой реализацию интерфейса SortedSet, которая хранит элементы в отсортированном порядке согласно их естественному порядку или предоставленному компаратору. Все элементы в TreeSet уникальны и не могут повторяться.

Импорт

kotlinimport java.util.TreeSet

Синтаксис

kotlinTreeSet<E>()
kotlinTreeSet<E>(comparator: Comparator<in E>)
kotlinTreeSet<E>(collection: Collection<E>)
kotlinTreeSet<E>(sortedSet: SortedSet<E>)

Пример

Создадим TreeSet из целых чисел:

kotlinval numbers = TreeSet<Int>()
numbers.add(5)
numbers.add(2)
numbers.add(8)
numbers.add(1)
println(numbers)

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

kotlinTreeSet<Int> [1, 2, 5, 8]

Пример

Создадим TreeSet из строк:

kotlinval words = TreeSet<String>()
words.add("zebra")
words.add("apple")
words.add("banana")
println(words)

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

kotlinTreeSet<String> ["apple", "banana", "zebra"]

Пример

Создадим TreeSet с использованием компаратора для сортировки по убыванию:

kotlinval reversedSet = TreeSet<Int>(reverseOrder())
reversedSet.add(5)
reversedSet.add(2)
reversedSet.add(8)
reversedSet.add(1)
println(reversedSet)

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

kotlinTreeSet<Int> [8, 5, 2, 1]

Пример

Создадим TreeSet из существующей коллекции:

kotlinval list = listOf(10, 3, 7, 1, 9)
val setFromCollection = TreeSet(list)
println(setFromCollection)

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

kotlinTreeSet<Int> [1, 3, 7, 9, 10]

Пример

Проверим уникальность элементов в TreeSet:

kotlinval uniqueNumbers = TreeSet<Int>()
uniqueNumbers.add(5)
uniqueNumbers.add(5)
uniqueNumbers.add(3)
uniqueNumbers.add(3)
println(uniqueNumbers)
println("Size: " + uniqueNumbers.size)

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

kotlinTreeSet<Int> [3, 5]
Size: 2

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

  • интерфейс SortedSet,
    который представляет отсортированное множество элементов
  • интерфейс Set,
    который представляет множество уникальных элементов
  • класс HashSet,
    который представляет множество с хэшированием элементов
  • класс LinkedHashSet,
    который представляет множество с сохранением порядка добавления