Interface NavigableMap<K, V>
- Type Parameters:
-
K- тип ключей, поддерживаемых этой картой -
V- тип сопоставленных значений
- All Superinterfaces:
-
Map<K,,V> SequencedMap<K,,V> SortedMap<K,V>
- All Known Subinterfaces:
ConcurrentNavigableMap<K,V>
- All Known Implementing Classes:
-
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.
- Since:
- 1.6
Nested Class Summary
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
Map.Entry |
ceilingEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такого ключа нет. |
K |
ceilingKey |
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет. |
NavigableSet |
descendingKeySet() |
Возвращает представление набора ключей этой карты в обратном порядке. |
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() |
Возвращает представление набора ключей этой карты. |
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. |
Methods declared in interface 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
Methods declared in interface 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, если эта карта пуста
pollLastEntry
Map.Entry<K,V> pollLastEntry()
null , если карта пуста.- Указано в:
-
pollLastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленный последний элемент этой карты, или
null, если эта карта пуста
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 оба истинны. Возвращаемое отображение подкрепляется этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать 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.
- Указано в:
-
reversedв интерфейсеSequencedMap<K,V> - Указано в:
-
reversedв интерфейсеSortedMap<K,V> - Требования к реализации:
- Реализация в этом интерфейсе возвращает результат вызова метода
descendingMap. - Возвращает:
- представление этой карты в обратном порядке в виде
NavigableMap - С:
- 21
© 1993, 2023, 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/21/docs/api/java.base/java/util/NavigableMap.html