Интерфейс NavigableMap<K, V>
- Тип параметров:
K- тип ключей, поддерживаемых этим отображениемV- тип сопоставленных значений
- Все суперинтерфейсы:
-
Map<K,,V> SequencedMap<K,,V> SortedMap<K,V>
- Все известные подинтерфейсы:
ConcurrentNavigableMap<K,V>
- Все известные реализующие классы:
-
ConcurrentSkipListMap,TreeMap
public interface NavigableMap<K,V> extends SortedMap<K,V>
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, принимая дополнительные аргументы, описывающие, являются ли нижние и верхние границы включительными или исключительными. Подотображения любого NavigableMap должны реализовывать интерфейс NavigableMap.
Этот интерфейс дополнительно определяет методы firstEntry(), pollFirstEntry(), lastEntry() и pollLastEntry(), которые возвращают и/или удаляют наименьшее и наибольшее сопоставление, если таковые имеются, иначе возвращают null.
Методы ceilingEntry(K), firstEntry(), floorEntry(K), higherEntry(K), lastEntry(), lowerEntry(K), pollFirstEntry() и pollLastEntry() возвращают экземпляры Map.Entry, которые представляют собой снимки сопоставлений на момент вызова. Они не поддерживают изменение базового отображения с помощью необязательного метода setValue.
Методы subMap(K, K), headMap(K) и tailMap(K) определены для возврата SortedMap, чтобы существующие реализации SortedMap могли быть совместимо адаптированы для реализации NavigableMap, но расширения и реализации этого интерфейса рекомендуется переопределять эти методы для возврата NavigableMap. Аналогично, SortedMap.keySet() можно переопределить для возврата NavigableSet.
Этот интерфейс является членом Java Collections Framework.
- С:
- 1.6
Краткое описание вложенных классов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Map.Entry |
ceilingEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такого ключа нет. |
K |
ceilingKey |
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет. |
NavigableSet |
descendingKeySet() |
Возвращает представление NavigableSet ключей, содержащихся в этом отображении, в обратном порядке. |
NavigableMap |
descendingMap() |
Возвращает представление сопоставлений, содержащихся в этом отображении, в обратном порядке. |
Map.Entry |
firstEntry() |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или null, если отображение пустое. |
Map.Entry |
floorEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null, если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, меньший или равный заданному ключу, или null, если такого ключа нет. |
SortedMap |
headMap |
Возвращает представление части этого отображения, ключи которого строго меньше toKey. |
NavigableMap |
headMap |
Возвращает представление части этого отображения, ключи которого меньше (или равны, если inclusive истинно) toKey. |
Map.Entry |
higherEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет. |
Map.Entry |
lastEntry() |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или null, если отображение пустое. |
Map.Entry |
lowerEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null, если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null, если такого ключа нет. |
NavigableSet |
navigableKeySet() |
Возвращает представление NavigableSet ключей, содержащихся в этом отображении. |
Map.Entry |
pollFirstEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или null, если отображение пустое (необязательная операция). |
Map.Entry |
pollLastEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или null, если отображение пустое (необязательная операция). |
default NavigableMap |
reversed() |
Возвращает представление этого отображения в обратном порядке. |
NavigableMap |
subMap |
Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey до toKey. |
SortedMap |
subMap |
Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey, включительно, до toKey, исключая. |
SortedMap |
tailMap |
Возвращает представление части этого отображения, ключи которого больше или равны fromKey. |
NavigableMap |
tailMap |
Возвращает представление части этого отображения, ключи которого больше (или равны, если 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.SequencedMap
sequencedEntrySet, sequencedKeySet, sequencedValues
Подробное описание методов
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, если карта пуста.- Определено в:
-
firstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- элемент с наименьшим ключом, или
null, если эта карта пуста
lastEntry
Map.Entry<K,V> lastEntry()
null, если карта пуста.- Определено в:
-
lastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- элемент с наибольшим ключом, или
null, если эта карта пуста
pollFirstEntry
Map.Entry<K,V> pollFirstEntry()
null, если карта пуста (необязательная операция).- Определено в:
-
pollFirstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленный первый элемент этой карты, или
null, если эта карта пуста - Исключения:
-
UnsupportedOperationException- если операцияpollFirstEntryне поддерживается этой картой
pollLastEntry
Map.Entry<K,V> pollLastEntry()
null, если карта пуста (необязательная операция).- Определено в:
-
pollLastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленный последний элемент этой карты, или
null, если эта карта пуста - Исключения:
-
UnsupportedOperationException- если операцияpollLastEntryне поддерживается этой картой
descendingMap
NavigableMap<K,V> descendingMap()
remove), результаты итерации не определены. Возвращаемая карта имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m, по сути эквивалентное m.
- Возвращает:
- представление этой карты в обратном порядке
descendingKeySet
NavigableSet<K> descendingKeySet()
Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.- Returns:
- представление набора ключей в обратном порядке, содержащихся в этой карте
subMap
NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
fromKey до toKey. Если fromKey и toKey равны, возвращаемая карта пуста, если только fromInclusive и toInclusive оба не true. Возвращаемая карта поддерживается этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта. Возвращаемая карта будет выбрасывать исключение IllegalArgumentException при попытке вставить ключ, выходящий за пределы диапазона, или при построении подкарты, концы которой лежат вне её диапазона.
- Parameters:
-
fromKey- нижняя граница ключей в возвращаемой карте -
fromInclusive-true, если нижняя граница должна быть включена в возвращаемое представление -
toKey- верхняя граница ключей в возвращаемой карте -
toInclusive-true, если верхняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этой карты, ключи которой находятся в диапазоне от
fromKeyдоtoKey - Throws:
-
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 при попытке вставить ключ вне диапазона.
- Parameters:
-
toKey- верхняя граница ключей в возвращаемой карте -
inclusive-true, если верхняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этой карты, ключи которой меньше (или равны, если
inclusiveравно true)toKey - Throws:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этой карты (или, если у карты нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые есть в данный момент в карте. -
NullPointerException- еслиtoKeyравно null, и эта карта не допускает null-ключей -
IllegalArgumentException- если у этой карты есть ограниченный диапазон, аtoKeyлежит за пределами границ диапазона
tailMap
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
inclusive равно true) fromKey. Возвращаемая карта поддерживается этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта. Возвращаемая карта будет выбрасывать исключение IllegalArgumentException при попытке вставить ключ вне диапазона.
- Parameters:
-
fromKey- нижняя граница ключей в возвращаемой карте -
inclusive-true, если нижняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этой карты, ключи которой больше (или равны, если
inclusiveравно true)fromKey - Throws:
-
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).
- Specified by:
-
subMapв интерфейсеSortedMap<K,V> - Parameters:
-
fromKey- нижняя граница (включительно) ключей в возвращаемой карте -
toKey- верхняя граница (исключительно) ключей в возвращаемой карте - Returns:
- представление части этой карты, ключи которой находятся в диапазоне от
fromKey(включительно) доtoKey(исключительно) - Throws:
-
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).
- Specified by:
-
headMapв интерфейсеSortedMap<K,V> - Parameters:
-
toKey- верхняя граница (исключительно) ключей в возвращаемой карте - Returns:
- представление части этой карты, ключи которой строго меньше
toKey - Throws:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этой карты (или, если у карты нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые есть в данный момент в карте. -
NullPointerException- еслиtoKeyравно null, и эта карта не допускает null-ключей -
IllegalArgumentException- если у этой карты есть ограниченный диапазон, аtoKeyлежит за пределами границ диапазона
tailMap
SortedMap<K,V> tailMap(K fromKey)
fromKey. Возвращаемое отображение подкрепляется этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение выбросит IllegalArgumentException при попытке вставки ключа за пределами своего диапазона.
Эквивалентно tailMap(fromKey, true).
- Specified by:
-
tailMapв интерфейсеSortedMap<K,V> - Parameters:
-
fromKey- нижняя граница (включительно) ключей в возвращаемом отображении - Returns:
- представление части этого отображения, ключи которой больше или равны
fromKey - Throws:
-
ClassCastException- еслиfromKeyне совместим с компаратором этого отображения (или, если отображение не имеет компаратора, еслиfromKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyнельзя сравнить с ключами, которые сейчас находятся в отображении. -
NullPointerException- еслиfromKeyравно null, а это отображение не допускает null ключей -
IllegalArgumentException- если у этого отображения ограниченный диапазон, аfromKeyнаходится за пределами границ диапазона
reversed
default NavigableMap<K,V> reversed()
Этот метод эквивалентен методу descendingMap.
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/NavigableMap.html