Интерфейс NavigableSet

Интерфейс NavigableSet расширяет SortedSet и предоставляет методы для навигации по отсортированному множеству. Он позволяет находить элементы, которые ближе всего к указанному значению, а также получать подмножества в заданных границах.

Импорт

kotlinimport java.util.NavigableSet

Синтаксис

kotlininterface NavigableSet<E> : SortedSet<E>

Пример

Создание NavigableSet и использование метода ceiling для поиска элемента, который больше или равен указанному:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val res = set.ceiling(6)
println(res)

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

kotlinInteger 7

Пример

Использование метода floor для поиска элемента, который меньше или равен указанному:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val res = set.floor(6)
println(res)

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

kotlinInteger 5

Пример

Использование метода higher для поиска элемента, который строго больше указанного:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val res = set.higher(6)
println(res)

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

kotlinInteger 7

Пример

Использование метода lower для поиска элемента, который строго меньше указанного:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val res = set.lower(6)
println(res)

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

kotlinInteger 5

Пример

Получение подмножества в обратном порядке с помощью метода descendingSet:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val descending = set.descendingSet()
println(descending)

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

kotlin[9, 7, 5, 3, 1]

Пример

Удаление первого и последнего элементов с помощью методов pollFirst и pollLast:

kotlinval set: NavigableSet<Int> = TreeSet(setOf(1, 3, 5, 7, 9))
val first = set.pollFirst()
val last = set.pollLast()

println("First: $first, Last: $last")
println("Remaining set: $set")

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

kotlinFirst: 1, Last: 9
Remaining set: [3, 5, 7]

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

  • интерфейс SortedSet,
    который предоставляет базовые возможности отсортированного множества
  • интерфейс Set,
    который является базовым интерфейсом для всех множеств
  • интерфейс Collection,
    который является базовым интерфейсом для всех коллекций
  • класс TreeSet,
    который является основной реализацией NavigableSet