Интерфейс 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) | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным данному ключу, или |
K | ceilingKey(K key) | Возвращает наименьший ключ, больший или равный заданному ключу, или |
NavigableSet<K> | descendingKeySet() | Возвращает представление |
NavigableMap<K,V> | descendingMap() | Возвращает представление сопоставлений, содержащихся в этой карте, в обратном порядке. |
Map.Entry<K,V> | firstEntry() | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или |
Map.Entry<K,V> | floorEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или |
K | floorKey(K key) | Возвращает наибольший ключ, меньший или равный заданному ключу, или |
SortedMap<K,V> | headMap(K toKey) | Возвращает представление части этой карты, ключи которой строго меньше |
NavigableMap<K,V> | headMap(K toKey,
boolean inclusive) | Возвращает представление части этой карты, ключи которой меньше (или равны, если |
Map.Entry<K,V> | higherEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем данный ключ, или |
K | higherKey(K key) | Возвращает наименьший ключ, строго больший, чем данный ключ, или |
Map.Entry<K,V> | lastEntry() | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или |
Map.Entry<K,V> | lowerEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем данный ключ, или |
K | lowerKey(K key) | Возвращает наибольший ключ, строго меньший, чем данный ключ, или |
NavigableSet<K> | navigableKeySet() | Возвращает представление |
Map.Entry<K,V> | pollFirstEntry() | Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или |
Map.Entry<K,V> | pollLastEntry() | Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или |
NavigableMap<K,V> | subMap(K fromKey,
boolean fromInclusive,
K toKey,
boolean toInclusive) | Возвращает представление части этой карты, ключи которой находятся в диапазоне от |
SortedMap<K,V> | subMap(K fromKey,
K toKey) | Возвращает представление части этой карты, ключи которой находятся в диапазоне от |
SortedMap<K,V> | tailMap(K fromKey) | Возвращает представление части этой карты, ключи которой больше или равны |
NavigableMap<K,V> | tailMap(K fromKey,
boolean inclusive) | Возвращает представление части этой карты, ключи которой больше (или равны, если |
Методы, объявленные в интерфейсе 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.
- Возвращает:
- представление этой карты в обратном порядке
navigableKeySet
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