Интерфейс NavigableMap
Интерфейс NavigableMap расширяет интерфейс SortedMap
и предоставляет методы для навигации по карте на основе порядка ключей.
Ключи должны быть сравниваемыми или сравниваться с помощью компаратора.
Позволяет получать записи с ключами ближайшими к указанному значению.
Импорт
import java.util.NavigableMap
Синтаксис
interface NavigableMap<K, V> : SortedMap<K, V>
Пример
Создадим объект NavigableMap и добавим в него несколько элементов:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
map[7] = "seven"
map[9] = "nine"
println(map)
Результат выполнения кода:
{1=one, 3=three, 5=five, 7=seven, 9=nine}
Пример
Используем метод lowerEntry для получения записи
с наибольшим ключом, меньшим заданного:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
map[7] = "seven"
map[9] = "nine"
val res = map.lowerEntry(6)
println(res)
Результат выполнения кода:
5=five
Пример
Используем метод higherEntry для получения записи
с наименьшим ключом, большим заданного:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
map[7] = "seven"
map[9] = "nine"
val res = map.higherEntry(6)
println(res)
Результат выполнения кода:
7=seven
Пример
Используем метод floorEntry для получения записи
с наибольшим ключом, меньшим или равным заданному:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
map[7] = "seven"
map[9] = "nine"
val res = map.floorEntry(6)
println(res)
Результат выполнения кода:
5=five
Пример
Используем метод ceilingEntry для получения записи
с наименьшим ключом, большим или равным заданному:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
map[7] = "seven"
map[9] = "nine"
val res = map.ceilingEntry(6)
println(res)
Результат выполнения кода:
7=seven
Пример
Используем метод pollFirstEntry для получения
и удаления первой записи:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
val first = map.pollFirstEntry()
println("First entry: $first")
println("Map after poll: $map")
Результат выполнения кода:
First entry: 1=one
Map after poll: {3=three, 5=five}
Пример
Используем метод pollLastEntry для получения
и удаления последней записи:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
val last = map.pollLastEntry()
println("Last entry: $last")
println("Map after poll: $map")
Результат выполнения кода:
Last entry: 5=five
Map after poll: {1=one, 3=three}
Пример
Используем метод descendingMap для получения
обратного представления карты:
val map: NavigableMap<Int, String> = TreeMap()
map[1] = "one"
map[3] = "three"
map[5] = "five"
val descending = map.descendingMap()
println("Original: $map")
println("Descending: $descending")
Результат выполнения кода:
Original: {1=one, 3=three, 5=five}
Descending: {5=five, 3=three, 1=one}
Смотрите также
-
интерфейс
SortedMap,
который представляет отсортированную карту -
интерфейс
Map,
который представляет базовую карту ключ-значение -
класс
TreeMap,
который является реализацией NavigableMap -
интерфейс
NavigableSet,
который представляет навигационное множество