Интерфейс 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 имеет значение true) 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 имеет значение true) fromKey. |
Методы, объявленные в интерфейсе Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
clear() |
Удаляет все отображения из этой карты (необязательная операция). |
default V |
compute |
Пытается вычислить отображение для указанного ключа и его текущего отображаемого значения либо null, если текущего отображения нет (необязательная операция). |
default V |
computeIfAbsent |
Если указанный ключ ещё не связан со значением (или ему сопоставлено null), пытается вычислить его значение с помощью заданной функции отображения и добавляет его в эту карту, если результатом не является null (необязательная операция). |
default V |
computeIfPresent |
Если для указанного ключа имеется ненулевое значение, пытается вычислить новое отображение на основе ключа и его текущего отображаемого значения (необязательная операция). |
boolean |
containsKey |
Возвращает true, если эта карта содержит отображение для указанного ключа. |
boolean |
containsValue |
Возвращает true, если в этой карте один или несколько ключей сопоставлены указанному значению. |
boolean |
equals |
Сравнивает указанный объект с этой картой на равенство. |
default void |
forEach |
Выполняет заданное действие для каждой записи в этой карте, пока не будут обработаны все записи или действие не вызовет исключение. |
V |
get |
Возвращает значение, сопоставленное указанному ключу, либо null, если в этой карте нет отображения для данного ключа. |
default V |
getOrDefault |
Возвращает значение, сопоставленное указанному ключу, либо defaultValue, если в этой карте нет отображения для данного ключа. |
int |
hashCode() |
Возвращает значение хеш-кода этой карты. |
boolean |
isEmpty() |
Возвращает true, если эта карта не содержит отображений ключ-значение. |
default V |
merge |
Если указанный ключ ещё не связан со значением или связан со значением null, связывает его с заданным ненулевым значением (необязательная операция). |
V |
put |
Сопоставляет указанное значение указанному ключу в этой карте (необязательная операция). |
void |
putAll |
Копирует все отображения из указанной карты в эту карту (необязательная операция). |
default V |
putIfAbsent |
Если указанный ключ ещё не связан со значением (или ему сопоставлено null), связывает его с заданным значением и возвращает null; в противном случае возвращает текущее значение (необязательная операция). |
V |
remove |
Удаляет отображение ключа из этой карты, если оно существует (необязательная операция). |
default boolean |
remove |
Удаляет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default V |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено какое-либо значение (необязательная операция). |
default boolean |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default void |
replaceAll |
Заменяет значение каждой записи результатом вызова заданной функции для этой записи, пока не будут обработаны все записи или функция не вызовет исключение (необязательная операция). |
int |
size() |
Возвращает количество отображений ключ-значение в этой карте. |
Методы, объявленные в интерфейсе SequencedMap
sequencedEntrySet, sequencedKeySet, sequencedValues | Модификатор и тип | Метод | Описание |
|---|---|---|
default SequencedSet |
sequencedEntrySet() |
Возвращает представление SequencedSet набора entrySet этой карты. |
default SequencedSet |
sequencedKeySet() |
Возвращает представление SequencedSet набора keySet этой карты. |
default SequencedCollection |
sequencedValues() |
Возвращает представление SequencedCollection коллекции values этой карты. |
Методы, объявленные в интерфейсе SortedMap
comparator, entrySet, firstKey, keySet, lastKey, putFirst, putLast, values | Модификатор и тип | Метод | Описание |
|---|---|---|
Comparator |
comparator() |
Возвращает компаратор, используемый для упорядочения ключей в этой карте, либо null, если карта использует естественный порядок ключей. |
Set |
entrySet() |
Возвращает представление отображений, содержащихся в этой карте, в виде Set. |
K |
firstKey() |
Возвращает первый (наименьший) ключ, находящийся в этой карте в данный момент. |
Set |
keySet() |
Возвращает представление ключей, содержащихся в этой карте, в виде Set. |
K |
lastKey() |
Возвращает последний (наибольший) ключ, находящийся в этой карте в данный момент. |
default V |
putFirst |
Вызывает UnsupportedOperationException. |
default V |
putLast |
Вызывает UnsupportedOperationException. |
Collection |
values() |
Возвращает представление значений, содержащихся в этой карте, в виде Collection. |
Подробное описание методов
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)
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находится за его пределами
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.