Интерфейс NavigableMap<K,​V>

Параметры типа:
K - тип ключей, поддерживаемых этой картой
V - тип сопоставленных значений
Все суперинтерфейсы:
Map<K,​V>, SortedMap<K,​V>
Все известные подинтерфейсы:
ConcurrentNavigableMap<K,​V>
Все известные реализующие классы:
ConcurrentSkipListMap, TreeMap
public interface NavigableMap<K,V>
extends SortedMap<K,​V>

A SortedMap расширенный методами навигации, возвращающими ближайшие совпадения для заданных целей поиска. Методы lowerEntry(K), floorEntry(K), ceilingEntry(K) и higherEntry(K) возвращают Map.Entry объекты, связанные с ключами, соответственно, меньше, меньше или равно, больше или равно и больше заданного ключа, возвращая null если такого ключа нет. Аналогично, методы lowerKey(K), floorKey(K), ceilingKey(K) и higherKey(K) возвращают только связанные ключи. Все эти методы предназначены для поиска, а не обхода записей.

К NavigableMap можно получить доступ и пройтись в порядке возрастания или убывания ключей. Метод descendingMap() возвращает представление карты с инвертированными смыслами всех реляционных и направленных методов. Производительность восходящих операций и представлений, вероятно, будет выше, чем у нисходящих. Методы subMap(K, boolean, K, boolean), headMap(K, boolean) и tailMap(K, boolean) отличаются от одноимённых методов SortedMap тем, что принимают дополнительные аргументы, описывающие, являются ли нижние и верхние границы включительно или исключительно.

Данный интерфейс дополнительно определяет методы firstEntry(), pollFirstEntry(), lastEntry() и pollLastEntry(), которые возвращают и/или удаляют наименьшие и наибольшие сопоставления, если они существуют, в противном случае возвращая null.

Реализации методов, возвращающих запись, должны возвращать Map.Entry пары, представляющие снимки сопоставлений на момент их создания, и, следовательно, обычно не поддерживают необязательный Entry.setValue метод. Однако возможно изменение сопоставлений в связанной карте с помощью метода put.

Методы subMap(K, K), headMap(K) и tailMap(K) определены таким образом, чтобы возвращать SortedMap, чтобы существующие реализации SortedMap могли быть совместимо адаптированы для реализации NavigableMap, но расширения и реализации этого интерфейса рекомендуются переопределять эти методы для возврата NavigableMap. Аналогично, SortedMap.keySet() можно переопределить, чтобы вернуть NavigableSet.

Этот интерфейс является членом Java Collections Framework.

Since:
1.6

Вложенные классы

Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.Map

Map.Entry<K,​V>

Методы

Модификатор и тип Метод Описание
Map.Entry<K,​V> ceilingEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным данному ключу, или null если такого ключа нет.

K ceilingKey​(K key)

Возвращает наименьший ключ, больший или равный заданному ключу, или null если такого ключа нет.

NavigableSet<K> descendingKeySet()

Возвращает представление NavigableSet ключей, содержащихся в этой карте, в обратном порядке.

NavigableMap<K,​V> descendingMap()

Возвращает представление сопоставлений, содержащихся в этой карте, в обратном порядке.

Map.Entry<K,​V> firstEntry()

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста.

Map.Entry<K,​V> floorEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null если такого ключа нет.

K floorKey​(K key)

Возвращает наибольший ключ, меньший или равный заданному ключу, или null если такого ключа нет.

SortedMap<K,​V> headMap​(K toKey)

Возвращает представление части этой карты, ключи которой строго меньше toKey.

NavigableMap<K,​V> headMap​(K toKey, boolean inclusive)

Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive истинно) toKey.

Map.Entry<K,​V> higherEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем данный ключ, или null если такого ключа нет.

K higherKey​(K key)

Возвращает наименьший ключ, строго больший, чем данный ключ, или null если такого ключа нет.

Map.Entry<K,​V> lastEntry()

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста.

Map.Entry<K,​V> lowerEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем данный ключ, или null если такого ключа нет.

K lowerKey​(K key)

Возвращает наибольший ключ, строго меньший, чем данный ключ, или null если такого ключа нет.

NavigableSet<K> navigableKeySet()

Возвращает представление NavigableSet ключей, содержащихся в этой карте.

Map.Entry<K,​V> pollFirstEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста.

Map.Entry<K,​V> pollLastEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста.

NavigableMap<K,​V> subMap​(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)

Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey.

SortedMap<K,​V> subMap​(K fromKey, K toKey)

Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включительно.

SortedMap<K,​V> tailMap​(K fromKey)

Возвращает представление части этой карты, ключи которой больше или равны fromKey.

NavigableMap<K,​V> tailMap​(K fromKey, boolean inclusive)

Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive истинно) fromKey.

Методы, объявленные в интерфейсе java.util.Map

clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size

Методы, объявленные в интерфейсе java.util.SortedMap

comparator, entrySet, firstKey, keySet, lastKey, values

Методы

lowerEntry

Map.Entry<K,V> lowerEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
запись с наибольшим ключом, меньшим, чем key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

lowerKey

K lowerKey(K key)

Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
наибольший ключ, меньший, чем key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

floorEntry

Map.Entry<K,V> floorEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
запись с наибольшим ключом, меньшим или равным key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

floorKey

K floorKey(K key)

Возвращает наибольший ключ, меньший или равный заданному ключу, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
наибольший ключ, меньший или равный key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

ceilingEntry

Map.Entry<K,V> ceilingEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
запись с наименьшим ключом, большим или равным key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

ceilingKey

K ceilingKey(K key)

Возвращает наименьший ключ, больший или равный заданному ключу, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
наименьший ключ, больший или равный key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

higherEntry

Map.Entry<K,V> higherEntry​(K key)

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
запись с наименьшим ключом, большим, чем key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

higherKey

K higherKey(K key)

Возвращает наименьший ключ, строго больший, чем заданный ключ, или null если такого ключа нет.

Параметры:
key - ключ
Возвращает:
наименьший ключ, больший, чем key, или null если такого ключа нет
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте
NullPointerException - если указанный ключ равен null, а эта карта не допускает ключей со значением null

firstEntry

Map.Entry<K,V> firstEntry()

Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста.

Возвращает:
запись с наименьшим ключом, или null если эта карта пуста

lastEntry

Map.Entry<K,V> lastEntry()

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста.

Возвращает:
запись с наибольшим ключом, или null если эта карта пуста

pollFirstEntry

Map.Entry<K,V> pollFirstEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста.

Возвращает:
удаленную первую запись этой карты, или null если эта карта пуста

pollLastEntry

Map.Entry<K,V> pollLastEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста.

Возвращает:
удаленную последнюю запись этой карты, или null если эта карта пуста

descendingMap

NavigableMap<K,V> descendingMap()

Возвращает представление отображений, содержащихся в этой карте, в обратном порядке. Обратная карта поддерживается этой картой, поэтому изменения в карте отражаются в обратной карте и наоборот. Если любая из карт изменяется во время итерации по представлению коллекции любой из карт (за исключением операции remove самого итератора), результаты итерации не определены.

Возвращаемая карта имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m, по существу эквивалентное m.

Возвращает:
представление этой карты в обратном порядке
NavigableSet<K> navigableKeySet()

Возвращает представление NavigableSet ключей, содержащихся в этой карте. Итератор множества возвращает ключи в порядке возрастания. Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Если карта изменяется во время итерации по множеству (за исключением операции remove самого итератора), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее сопоставление из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll.

Возвращает:
представление навигационного множества ключей в этой карте

descendingKeySet

NavigableSet<K> descendingKeySet()

Возвращает представление NavigableSet ключей, содержащихся в этой карте, в обратном порядке. Итератор множества возвращает ключи в порядке убывания. Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Если карта изменяется во время итерации по множеству (за исключением операции remove самого итератора), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее сопоставление из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll.

Возвращает:
представление навигационного множества ключей в этой карте в обратном порядке

subMap

NavigableMap<K,V> subMap​(K fromKey,
                               boolean fromInclusive,
                               K toKey,
                               boolean toInclusive)

Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey. Если fromKey и toKey равны, возвращаемая карта будет пустой, если только fromInclusive и toInclusive не истинны. Возвращаемая карта поддерживается этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картой, которые поддерживает эта карта.

Возвращаемая карта выдаст IllegalArgumentException при попытке вставить ключ за пределами своего диапазона или создать подкарту, одна из конечных точек которой находится за пределами ее диапазона.

Параметры:
fromKey - нижняя граница ключей в возвращаемой карте
fromInclusive - true если нижняя граница должна быть включена в возвращаемое представление
toKey - верхняя граница ключей в возвращаемой карте
toInclusive - true если верхняя граница должна быть включена в возвращаемое представление
Возвращает:
представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey
Исключения:
ClassCastException - если fromKey и toKey не могут быть сравнены друг с другом с помощью компаратора этой карты (или, если карта не имеет компаратора, с помощью естественного порядка). Реализации могут, но не обязаны, выбрасывать это исключение, если fromKey или toKey не могут быть сравнены с ключами, которые в данный момент находятся в карте.
NullPointerException - если fromKey или toKey равно null, а эта карта не допускает ключей со значением null
IllegalArgumentException - если fromKey больше, чем toKey; или если сама эта карта имеет ограниченный диапазон, и fromKey или toKey находится за пределами границ диапазона

headMap

NavigableMap<K,V> headMap​(K toKey,
                                boolean inclusive)

Возвращает представление части этого карты, ключи которой меньше (или равны, если inclusive равно true) toKey. Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

Возвращаемая карта будет выбрасывать IllegalArgumentException при попытке вставить ключ, выходящий за пределы её диапазона.

Параметры:
toKey - верхняя граница ключей в возвращаемой карте
inclusive - true если верхнюю границу следует включить в возвращаемое представление
Возвращает:
представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey
Исключения:
ClassCastException - если toKey не совместим с компаратором этой карты (или, если у карты нет компаратора, если toKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если toKey нельзя сравнить с ключами, которые есть в настоящее время в карте.
NullPointerException - если toKey равно null, и эта карта не допускает null-ключей
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и toKey выходит за пределы границ диапазона

tailMap

NavigableMap<K,V> tailMap​(K fromKey,
                                boolean inclusive)

Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey. Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

Возвращаемая карта будет выбрасывать IllegalArgumentException при попытке вставить ключ, выходящий за пределы её диапазона.

Параметры:
fromKey - нижняя граница ключей в возвращаемой карте
inclusive - true если нижнюю границу следует включить в возвращаемое представление
Возвращает:
представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey
Исключения:
ClassCastException - если fromKey не совместим с компаратором этой карты (или, если у карты нет компаратора, если fromKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если fromKey нельзя сравнить с ключами, которые есть в настоящее время в карте.
NullPointerException - если fromKey равно null, и эта карта не допускает null-ключей
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и fromKey выходит за пределы границ диапазона

subMap

SortedMap<K,V> subMap​(K fromKey,
                            K toKey)

Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включительно. (Если fromKey и toKey равны, возвращаемая карта пустая.) Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

Возвращаемая карта будет выбрасывать IllegalArgumentException при попытке вставить ключ, выходящий за пределы её диапазона.

Эквивалентно subMap(fromKey, true, toKey, false).

Определено в:
subMap в интерфейсе SortedMap<K,​V>
Параметры:
fromKey - нижняя граница (включительно) ключей в возвращаемой карте
toKey - верхняя граница (не включительно) ключей в возвращаемой карте
Возвращает:
представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включительно
Исключения:
ClassCastException - если fromKey и toKey нельзя сравнить друг с другом с использованием компаратора этой карты (или, если у карты нет компаратора, с использованием естественного порядка). Реализации могут, но не обязаны, выбрасывать это исключение, если fromKey или toKey нельзя сравнить с ключами, которые есть в настоящее время в карте.
NullPointerException - если fromKey или toKey равно null, и эта карта не допускает null-ключей
IllegalArgumentException - если fromKey больше toKey; или если у этой карты есть ограниченный диапазон, и fromKey или toKey выходит за пределы границ диапазона

headMap

SortedMap<K,V> headMap​(K toKey)

Возвращает представление части этой карты, ключи которой строго меньше toKey. Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

Возвращаемая карта будет выбрасывать IllegalArgumentException при попытке вставить ключ, выходящий за пределы её диапазона.

Эквивалентно headMap(toKey, false).

Определено в:
headMap в интерфейсе SortedMap<K,​V>
Параметры:
toKey - верхняя граница (не включительно) ключей в возвращаемой карте
Возвращает:
представление части этой карты, ключи которой строго меньше toKey
Исключения:
ClassCastException - если toKey не совместим с компаратором этой карты (или, если у карты нет компаратора, если toKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если toKey нельзя сравнить с ключами, которые есть в настоящее время в карте.
NullPointerException - если toKey равно null, и эта карта не допускает null-ключей
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и toKey выходит за пределы границ диапазона

tailMap

SortedMap<K,V> tailMap​(K fromKey)

Возвращает представление части этой карты, ключи которой больше или равны fromKey. Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

Возвращаемая карта будет выбрасывать IllegalArgumentException при попытке вставить ключ, выходящий за пределы её диапазона.

Эквивалентно tailMap(fromKey, true).

Определено в:
tailMap в интерфейсе SortedMap<K,​V>
Параметры:
fromKey - нижняя граница (включительно) ключей в возвращаемой карте
Возвращает:
представление части этой карты, ключи которой больше или равны fromKey
Исключения:
ClassCastException - если fromKey не совместим с компаратором этой карты (или, если у карты нет компаратора, если fromKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если fromKey нельзя сравнить с ключами, которые есть в настоящее время в карте.
NullPointerException - если fromKey равно null, и эта карта не допускает null-ключей
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и fromKey выходит за пределы границ диапазона

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/NavigableMap.html

Spec-Zone .ru
спецификации, руководства, описания, API