Интерфейс 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 |
Возвращает представление той части этой карты, ключи которой меньше toKey (или равны ему, если inclusive имеет значение true). |
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 |
Возвращает представление той части этой карты, ключи которой больше fromKey (или равны ему, если inclusive имеет значение true). |
Методы, объявленные в интерфейсе Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
Методы, объявленные в интерфейсе 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()
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 не равны true одновременно. Возвращаемая карта основана на этой карте, поэтому изменения возвращаемой карты отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона или создать под карту, одна из конечных точек которой находится за пределами диапазона, возвращаемая карта вызовет 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)
toKey (или меньше либо равны ему, если inclusive равно true). Возвращаемая карта основана на этой карте, поэтому изменения возвращаемой карты отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона возвращаемая карта вызовет IllegalArgumentException.
- Параметры:
-
toKey— верхняя граница ключей возвращаемой карты -
inclusive—true, если верхнюю границу следует включить в возвращаемое представление - Возвращает:
- представление части этой карты, ключи которой меньше
toKey(или меньше либо равны ему, еслиinclusiveравно true) - Вызывает исключения:
-
ClassCastException— еслиtoKeyнесовместим с компаратором этой карты (или, если у карты нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, вызывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые сейчас находятся в карте. -
NullPointerException— еслиtoKeyравен null, а эта карта не допускает ключи null -
IllegalArgumentException— если диапазон самой карты ограничен иtoKeyнаходится за его пределами
tailMap
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
fromKey (или больше либо равны ему, если inclusive равно true). Возвращаемая карта основана на этой карте, поэтому изменения возвращаемой карты отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона возвращаемая карта вызовет IllegalArgumentException.
- Параметры:
-
fromKey— нижняя граница ключей возвращаемой карты -
inclusive—true, если нижнюю границу следует включить в возвращаемое представление - Возвращает:
- представление части этой карты, ключи которой больше
fromKey(или больше либо равны ему, еслиinclusiveравно true) - Вызывает исключения:
-
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находится за его пределами
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/NavigableMap.html