Интерфейс 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>
SortedMap расширенный методами навигации, возвращающими ближайшие совпадения для заданных целевых объектов поиска. Методы lowerEntry(K), floorEntry(K), ceilingEntry(K) и higherEntry(K) возвращают Map.Entry объекты, связанные с ключами, соответственно, меньше, меньше или равны, больше или равны и больше заданного ключа, возвращая null , если такого ключа нет. Аналогично, методы lowerKey(K), floorKey(K), ceilingKey(K) и higherKey(K) возвращают только соответствующие ключи. Все эти методы предназначены для поиска, а не обхода записей. A NavigableMap можно получить доступ и пройтись по нему в порядке возрастания или убывания ключей. Метод descendingMap() возвращает представление карты с инверсированными смыслами всех реляционных и направленных методов. Производительность восходящих операций и представлений, вероятно, будет выше, чем у нисходящих. Методы subMap(K, boolean, K, boolean), headMap(K, boolean) и tailMap(K, boolean) отличаются от одноимённых методов 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
Краткое описание вложенных классов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Map.Entry<K, |
ceilingEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null если такого ключа нет. |
K |
ceilingKey |
Возвращает наименьший ключ, больший или равный заданному ключу, или null если такого ключа нет. |
NavigableSet<K> |
descendingKeySet() |
Возвращает представление NavigableSet ключей, содержащихся в этой карте, в обратном порядке. |
NavigableMap<K, |
descendingMap() |
Возвращает представление сопоставлений, содержащихся в этой карте, в обратном порядке. |
Map.Entry<K, |
firstEntry() |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста. |
Map.Entry<K, |
floorEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньше или равным заданному ключу, или null если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, меньше или равный заданному ключу, или null если такого ключа нет. |
SortedMap<K, |
headMap |
Возвращает представление части этой карты, ключи которой строго меньше toKey. |
NavigableMap<K, |
headMap |
Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey. |
Map.Entry<K, |
higherEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null если такого ключа нет. |
Map.Entry<K, |
lastEntry() |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста. |
Map.Entry<K, |
lowerEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null если такого ключа нет. |
NavigableSet<K> |
navigableKeySet() |
Возвращает NavigableSet представление ключей, содержащихся в этой карте. |
Map.Entry<K, |
pollFirstEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста. |
Map.Entry<K, |
pollLastEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста. |
NavigableMap<K, |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey. |
SortedMap<K, |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, исключая. |
SortedMap<K, |
tailMap |
Возвращает представление части этой карты, ключи которой больше или равны fromKey. |
NavigableMap<K, |
tailMap |
Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey. |
Методы, объявленные в интерфейсе 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.
- Возвращает:
- представление отображения в обратном порядке
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 истинно) toKey. Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта. Возвращаемая карта выбросит IllegalArgumentException при попытке вставки ключа вне своего диапазона.
- Parameters:
-
toKey- верхняя граница ключей в возвращаемой карте -
inclusive-trueесли верхняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этой карты, ключи которой меньше (или меньше или равны, если
inclusiveистинно)toKey - Throws:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этой карты (или, если у карты нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбросить это исключение, еслиtoKeyнельзя сравнить с ключами, которые в данный момент присутствуют в карте. -
NullPointerException- еслиtoKeyравно null, а эта карта не допускает null-ключи -
IllegalArgumentException- если у этой карты есть ограниченный диапазон, иtoKeyлежит за пределами границ диапазона
tailMap
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
inclusive истинно) fromKey. Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта. Возвращаемая карта выбросит IllegalArgumentException при попытке вставки ключа вне своего диапазона.
- Parameters:
-
fromKey- нижняя граница ключей в возвращаемой карте -
inclusive-trueесли нижняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этой карты, ключи которой больше (или больше или равны, если
inclusiveистинно)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лежит за пределами границ диапазона
© 1993, 2021, 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/17/docs/api/java.base/java/util/NavigableMap.html