НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
178 of 1310 menu

Интерфейс SortedSet

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

Импорт

import kotlin.collections.SortedSet

Синтаксис

interface SortedSet<E> : Set<E>

Создание SortedSet

Создадим отсортированное множество чисел:

val numbers: SortedSet<Int> = sortedSetOf(5, 2, 8, 1, 3) println(numbers)

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

[1, 2, 3, 5, 8]

Создание с компаратором

Создадим отсортированное множество строк в обратном порядке:

val names = sortedSetOf(String.CASE_INSENSITIVE_ORDER.reversed(), "John", "Alice", "Bob") println(names)

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

[John, Bob, Alice]

Методы SortedSet

Получим первый и последний элементы:

val numbers = sortedSetOf(5, 2, 8, 1, 3) val first = numbers.first() val last = numbers.last() println("First: $first, Last: $last")

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

First: 1, Last: 8

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

Получим подмножество элементов от 2 до 5:

val numbers = sortedSetOf(1, 2, 3, 5, 8) val subSet = numbers.subSet(2, 5) println(subSet)

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

[2, 3]

Получение хвоста множества

Получим все элементы больше или равные 3:

val numbers = sortedSetOf(1, 2, 3, 5, 8) val tailSet = numbers.tailSet(3) println(tailSet)

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

[3, 5, 8]

Получение головы множества

Получим все элементы меньше 5:

val numbers = sortedSetOf(1, 2, 3, 5, 8) val headSet = numbers.headSet(5) println(headSet)

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

[1, 2, 3]

Получение компаратора

Проверим, используется ли компаратор:

val naturalSet = sortedSetOf(1, 2, 3) val comparatorSet = sortedSetOf(reverseOrder<Int>(), 1, 2, 3) println("Natural comparator: ${naturalSet.comparator()}") println("Custom comparator: ${comparatorSet.comparator()}")

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

Natural comparator: null Custom comparator: java.util.Collections$ReverseComparator@...

Добавление и удаление элементов

Добавим и удалим элементы из отсортированного множества:

val numbers = sortedSetOf(1, 2, 3, 5, 8) numbers.add(4) numbers.remove(2) println(numbers)

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

[1, 3, 4, 5, 8]

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

  • интерфейс Set,
    который представляет базовое множество элементов
  • интерфейс MutableSet,
    который представляет изменяемое множество элементов
  • интерфейс NavigableSet,
    который расширяет SortedSet методами навигации
  • класс TreeSet,
    который является реализацией SortedSet
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить