Интерфейс 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, floorEntry, ceilingEntry, и higherEntry возвращают Map.Entry объекты, связанные с ключами, соответственно меньше, меньше или равно, больше или равно и больше заданного ключа, возвращая null если такого ключа нет. Аналогично, методы lowerKey, floorKey, ceilingKey, и higherKey возвращают только связанные ключи. Все эти методы предназначены для поиска, а не для обхода записей.
К NavigableMap можно получить доступ и пройтись в порядке возрастания или убывания ключей. Метод descendingMap возвращает представление карты с инверсированными смыслами всех реляционных и направленных методов. Производительность восходящих операций и представлений, вероятно, будет выше, чем нисходящих. Методы subMap, headMap, и tailMap отличаются от одноимённых методов SortedMap методов принятием дополнительных аргументов, описывающих, являются ли нижние и верхние границы включительными или исключительными. Подкарты любого NavigableMap должны реализовывать интерфейс NavigableMap.
Этот интерфейс дополнительно определяет методы 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.
- С тех пор как:
- 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.SortedMap
comparator, entrySet, firstKey, keySet, lastKey, values Методы, унаследованные от интерфейса 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 Методы
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 оба 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истинно)toKey - Исключения:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этой карты (или, если у карты нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые есть в настоящее время в карте. -
NullPointerException- еслиtoKeyравно null, а эта карта не допускает null-ключей -
IllegalArgumentException- если у этой карты есть ограниченный диапазон, иtoKeyнаходится вне границ диапазона
tailMap
NavigableMap<K,V> tailMap(K fromKey,
boolean inclusive) Возвращает вид части этой карты, ключи которой больше (или равны, если inclusive истинно) fromKey. Возвращаемая карта опирается на эту карту, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.
Возвращаемая карта выбросит IllegalArgumentException при попытке вставки ключа за пределами её диапазона.
- Параметры:
-
fromKey- нижняя граница ключей в возвращаемой карте -
inclusive-trueвключать ли нижнюю границу в возвращаемый вид - Возвращает:
- вид части этой карты, ключи которой больше (или равны, если
inclusiveистинно)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.