Класс TreeMap<K, V>
- Type Parameters:
-
K- тип ключей, поддерживаемых этой картой -
V- тип сопоставленных значений
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Map<K,,V> NavigableMap<K,,V> SequencedMap<K,,V> SortedMap<K,V>
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
NavigableMap на основе красно-чёрного дерева. Карта отсортирована в соответствии с естественным порядком своих ключей или с помощью Comparator, предоставленного во время создания карты, в зависимости от используемого конструктора. Эта реализация гарантирует время выполнения log(n) для операций containsKey, get, put и remove. Алгоритмы являются адаптациями алгоритмов из книги Кормена, Лейзерсона и Ривеста "Введение в алгоритмы".
Обратите внимание, что порядок, поддерживаемый картой дерева, подобно любой отсортированной карте, и независимо от того, предоставлен ли явный компаратор, должен быть совместим с equals, если эта отсортированная карта должна корректно реализовывать интерфейс Map. (См. Comparable или Comparator для точного определения совместимости с equals.) Это связано с тем, что интерфейс Map определен в терминах операции equals, но отсортированная карта выполняет все сравнения ключей с помощью метода
compareTo (или compare), поэтому два ключа, считающиеся равными этим методом, с точки зрения отсортированной карты, равны. Поведение отсортированной карты определено даже если ее порядок несовместим с equals; она просто не соответствует общему соглашению интерфейса Map.
Обратите внимание, что эта реализация не синхронизирована. Если несколько потоков одновременно обращаются к карте, и по меньшей мере один из потоков структурно изменяет карту, она должна быть синхронизирована внешним образом. (Структурная модификация — это любая операция, добавляющая или удаляющая одну или несколько сопоставлений; просто изменение значения, связанного с существующим ключом, не является структурной модификацией.) Это обычно достигается синхронизацией на некотором объекте, естественным образом инкапсулирующем карту. Если такого объекта нет, карта должна быть "упакована" с помощью метода Collections.synchronizedSortedMap. Лучше всего это сделать на этапе создания, чтобы предотвратить случайный несинхронизированный доступ к карте:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Итераторы, возвращаемые методом iterator коллекций, возвращаемых всеми методами "представлений коллекций" этого класса, являются быстропроверяющими: если карта структурно изменяется в любое время после создания итератора, любым способом, кроме как через собственный метод итератора remove, итератор выбросит исключение ConcurrentModificationException. Таким образом, при одновременной модификации итератор быстро и четко завершает работу, а не рискует произвольным, непредсказуемым поведением в неопределенное время в будущем.
Обратите внимание, что поведение быстропроверяющего итератора не может быть гарантировано, так как, в общем случае, невозможно дать какие-либо гарантии в случае несинхронизированной одновременной модификации. Быстропроверяющие итераторы выбрасывают ConcurrentModificationException в лучшем случае. Поэтому было бы неправильно писать программу, которая полагалась бы на это исключение для правильности: поведение быстропроверяющих итераторов следует использовать только для обнаружения ошибок.
Методы ceilingEntry(K), firstEntry(), floorEntry(K), higherEntry(K), lastEntry(), lowerEntry(K), pollFirstEntry() и pollLastEntry() возвращают экземпляры Map.Entry, представляющие моментальные снимки сопоставлений на момент вызова. Они не поддерживают мутацию базовой карты через необязательный метод setValue.
Методы putFirst и putLast этого класса выбрасывают UnsupportedOperationException. Порядок встреч сопоставлений определяется методом сравнения; поэтому явное позиционирование не поддерживается.
Этот класс является членом Java Collections Framework.
- Since:
- 1.2
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.AbstractMap
AbstractMap.SimpleEntry<K, V>, AbstractMap.SimpleImmutableEntry<K, V>
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeMap() |
Создаёт новую пустую карту дерева, используя естественный порядок своих ключей. |
TreeMap |
Создаёт новую пустую карту дерева, отсортированную в соответствии с заданным компаратором. |
TreeMap |
Создаёт новую карту дерева, содержащую те же сопоставления, что и заданная карта, отсортированную в соответствии с естественным порядком своих ключей. |
TreeMap |
Создаёт новую карту дерева, содержащую те же сопоставления и использующую тот же порядок, что и указанная отсортированная карта. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
Map.Entry |
ceilingEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такого ключа нет. |
K |
ceilingKey |
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет. |
void |
clear() |
Удаляет все сопоставления из этого карты. |
Object |
clone() |
Возвращает неглубокую копию этого TreeMap экземпляра. |
Comparator |
comparator() |
Возвращает компаратор, используемый для упорядочивания ключей в этой карте, или null, если эта карта использует естественное упорядочение своих ключей. |
V |
compute |
Попытка вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или null, если нет текущего сопоставления). |
V |
computeIfAbsent |
Если указанный ключ еще не связан со значением (или сопоставлен с null), пытается вычислить его значение с помощью заданной функции сопоставления и вводит его в эту карту, если null. |
V |
computeIfPresent |
Если значение для указанного ключа присутствует и не null, пытается вычислить новое сопоставление, задав ключ и его текущее сопоставленное значение. |
boolean |
containsKey |
Возвращает true, если эта карта содержит сопоставление для указанного ключа. |
boolean |
containsValue |
Возвращает true, если эта карта сопоставляет один или несколько ключей со значением. |
NavigableSet |
descendingKeySet() |
Возвращает набор ключей, содержащихся в этой карте, в обратном порядке. |
NavigableMap |
descendingMap() |
Возвращает вид сопоставлений, содержащихся в этой карте, в обратном порядке. |
Set |
entrySet() |
Возвращает вид сопоставлений, содержащихся в этой карте. |
Map.Entry |
firstEntry() |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null, если карта пуста. |
K |
firstKey() |
Возвращает первый (наименьший) ключ, который в настоящее время находится в этой карте. |
Map.Entry |
floorEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null, если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, меньший или равный заданному ключу, или null, если такого ключа нет. |
V |
get |
Возвращает значение, которому сопоставлен указанный ключ, или null, если в этой карте нет сопоставления для ключа. |
SortedMap |
headMap |
Возвращает представление части этой карты, ключи которой строго меньше toKey. |
NavigableMap |
headMap |
Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey. |
Map.Entry |
higherEntry |
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет. |
Set |
keySet() |
Возвращает представление набора ключей, содержащихся в этой карте. |
Map.Entry |
lastEntry() |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null, если карта пуста. |
K |
lastKey() |
Возвращает последний (наибольший) ключ, который в настоящее время находится в этой карте. |
Map.Entry |
lowerEntry |
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null, если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null, если такого ключа нет. |
V |
merge |
Если указанный ключ еще не связан со значением или связан с null, связывает его с указанным ненулевым значением. |
NavigableSet |
navigableKeySet() |
Возвращает представление набора ключей, содержащихся в этой карте. |
Map.Entry |
pollFirstEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null, если карта пуста. |
Map.Entry |
pollLastEntry() |
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null, если карта пуста. |
V |
put |
Связывает указанное значение с указанным ключом в этой карте. |
void |
putAll |
Копирует все сопоставления из указанной карты в эту карту. |
V |
putFirst |
Выбрасывает UnsupportedOperationException. |
V |
putLast |
Выбрасывает UnsupportedOperationException. |
V |
remove |
Удаляет сопоставление для этого ключа из этой TreeMap, если оно присутствует. |
int |
size() |
Возвращает количество сопоставлений ключ-значение в этой карте. |
NavigableMap |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey. |
SortedMap |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включая. |
SortedMap |
tailMap |
Возвращает представление части этой карты, ключи которой больше или равны fromKey. |
NavigableMap |
tailMap |
Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey. |
Collection |
values() |
Возвращает представление коллекции значений, содержащихся в этой карте. |
Методы, объявленные в классе java.util.AbstractMap
equals, hashCode, isEmpty, toString
Методы, объявленные в классе java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.util.Map
equals, forEach, getOrDefault, hashCode, isEmpty, putIfAbsent, remove, replace, replace, replaceAll
Методы, объявленные в интерфейсе java.util.NavigableMap
reversed
Методы, объявленные в интерфейсе java.util.SequencedMap
sequencedEntrySet, sequencedKeySet, sequencedValues
Подробное описание конструкторов
TreeMap
public TreeMap()
Comparable. Кроме того, все такие ключи должны быть взаимно сравнимы: k1.compareTo(k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Если пользователь пытается поместить ключ в карту, который нарушает это ограничение (например, пользователь пытается поместить строковый ключ в карту, ключи которой являются целыми числами), вызов put(Object key, Object value) выбросит ClassCastException.TreeMap
public TreeMap(Comparator<? super K> comparator)
comparator.compare(k1,
k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Если пользователь пытается поместить ключ в карту, который нарушает это ограничение, вызов put(Object
key, Object value) выбросит ClassCastException.- Параметры:
-
comparator- компаратор, который будет использоваться для упорядочения этой карты. Еслиnull, будет использован естественный порядок ключей.
TreeMap
public TreeMap(Map<? extends K,? extends V> m)
Comparable. Кроме того, все такие ключи должны быть взаимно сравнимы: k1.compareTo(k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Этот метод работает за время n*log(n).- Параметры:
-
m- карта, сопоставления которой должны быть помещены в эту карту - Исключения:
-
ClassCastException- если ключи в m неComparable, или не взаимно сравнимы -
NullPointerException- если заданная карта равна null
TreeMap
public TreeMap(SortedMap<K,? extends V> m)
- Параметры:
-
m- упорядоченная карта, сопоставления которой должны быть помещены в эту карту, и компаратор которой должен быть использован для сортировки этой карты - Исключения:
-
NullPointerException- если заданная карта равна null
Подробное описание методов
size
public int size()
- Унаследованно от:
-
sizeв интерфейсеMap<K,V> - Переопределяет:
-
sizeв классеAbstractMap<K,V> - Возвращает:
- количество пар ключ-значение в этой карте
containsKey
public boolean containsKey(Object key)
true, если эта карта содержит сопоставление для указанного ключа.- Унаследованно от:
-
containsKeyв интерфейсеMap<K,V> - Переопределяет:
-
containsKeyв классеAbstractMap<K,V> - Параметры:
-
key- ключ, присутствие которого в этой карте должно быть проверено - Возвращает:
-
true, если эта карта содержит сопоставление для указанного ключа - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null и эта карта использует естественный порядок, или ее компаратор не допускает null-ключей
containsValue
public boolean containsValue(Object value)
true, если эта карта сопоставляет один или несколько ключей указанному значению. Более формально, возвращает true тогда и только тогда, когда эта карта содержит по крайней мере одно сопоставление со значением v такое, что (value==null ? v==null : value.equals(v)). Эта операция, скорее всего, потребует линейного времени по размеру карты для большинства реализаций.- Унаследованно от:
-
containsValueв интерфейсеMap<K,V> - Переопределяет:
-
containsValueв классеAbstractMap<K,V> - Параметры:
-
value- значение, присутствие которого в этой карте должно быть проверено - Возвращает:
-
trueесли существует сопоставление со значениемvalue;falseв противном случае - С:
- 1.2
get
public V get(Object key)
null, если эта карта не содержит сопоставления для ключа. Более формально, если эта карта содержит сопоставление от ключа k к значению v такое, что key сравнивается по порядку карты с k, то этот метод возвращает v; в противном случае возвращает null. (Может быть максимум одно такое сопоставление.)
Возврат значения null не обязательно указывает, что карта не содержит сопоставления для ключа; также возможно, что карта явно сопоставляет ключ со значением null. Операция containsKey может использоваться для различения этих двух случаев.
- Унаследованно от:
-
getв интерфейсеMap<K,V> - Переопределяет:
-
getв классеAbstractMap<K,V> - Параметры:
-
key- ключ, связанное значение которого должно быть возвращено - Возвращает:
- значение, которому сопоставлен указанный ключ, или
null, если эта карта не содержит сопоставления для ключа - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null и эта карта использует естественный порядок, или ее компаратор не допускает null-ключей
comparator
public Comparator<? super K> comparator()
SortedMapnull, если эта карта использует естественный порядок своих ключей.- Унаследованно от:
-
comparatorв интерфейсеSortedMap<K,V> - Возвращает:
- компаратор, используемый для упорядочения ключей в этой карте, или
null, если эта карта использует естественный порядок ключей
firstKey
public K firstKey()
SortedMap- Унаследованно от:
-
firstKeyв интерфейсеSortedMap<K,V> - Возвращает:
- первый (наименьший) ключ, который в данный момент находится в этой карте
- Исключения:
-
NoSuchElementException- если эта карта пуста
lastKey
public K lastKey()
SortedMap- Унаследованно от:
-
lastKeyв интерфейсеSortedMap<K,V> - Возвращает:
- последний (наибольший) ключ, который в данный момент находится в этой карте
- Исключения:
-
NoSuchElementException- если эта карта пуста
putFirst
public V putFirst(K k, V v)
UnsupportedOperationException. Порядок встреч, индуцированный методом сравнения этой карты, определяет положение сопоставлений, поэтому явное позиционирование не поддерживается.- Унаследованно от:
-
putFirstв интерфейсеSequencedMap<K,V> - Унаследованно от:
-
putFirstв интерфейсеSortedMap<K,V> - Параметры:
-
k- ключ -
v- значение - Возвращает:
- значение, ранее связанное с k, или null, если нет
- Исключения:
-
UnsupportedOperationException- всегда - С:
- 21
putLast
public V putLast(K k, V v)
UnsupportedOperationException. Порядок встреч, индуцированный методом сравнения этой карты, определяет положение сопоставлений, поэтому явное позиционирование не поддерживается.- Унаследованно от:
-
putLastв интерфейсеSequencedMap<K,V> - Унаследованно от:
-
putLastв интерфейсеSortedMap<K,V> - Параметры:
-
k- ключ -
v- значение - Возвращает:
- значение, ранее связанное с k, или null, если нет
- Исключения:
-
UnsupportedOperationException- всегда - С:
- 21
putAll
public void putAll(Map<? extends K,? extends V> map)
- Specified by:
-
putAllin interfaceMap<K,V> - Overrides:
-
putAllin classAbstractMap<K,V> - Parameters:
-
map- сопоставления, которые должны быть сохранены в этой карте - Throws:
-
ClassCastException- если класс ключа или значения в указанной карте препятствует его хранению в этой карте -
NullPointerException- если указанная карта равна null или указанная карта содержит null-ключ, а эта карта не допускает null-ключи
put
public V put(K key, V value)
- Specified by:
-
putin interfaceMap<K,V> - Overrides:
-
putin classAbstractMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Returns:
- предыдущее значение, связанное с
key, илиnull, если дляkeyне было сопоставления. (Возвратnullтакже может указывать, что карта ранее связывалаnullсо значениемkey). - Throws:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в настоящее время находятся в карте -
NullPointerException- если указанный ключ равен null, и эта карта использует естественный порядок, или её компаратор не допускает null-ключи
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
null), пытается вычислить его значение с помощью заданной функции отображения и вводит его в эту карту, если null. Если функция отображения возвращает null, сопоставление не записывается. Если сама функция отображения выбрасывает исключение (непроверяемого типа), исключение перебрасывается, и сопоставление не записывается. Наиболее распространённое использование заключается в построении нового объекта, служащего начальным сопоставленным значением или кешированным результатом, как в:
map.computeIfAbsent(key, k -> new Value(f(k)));
Или для реализации карты с несколькими значениями, Map<K,Collection<V>>, поддерживающей несколько значений на один ключ:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
Функция отображения не должна изменять эту карту во время вычисления.
Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция отображения изменяет эту карту во время вычисления.
- Specified by:
-
computeIfAbsentin interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
mappingFunction- функция отображения для вычисления значения - Returns:
- текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
- Throws:
-
ConcurrentModificationException- если было обнаружено, что функция отображения изменила эту карту
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Если функция переназначения возвращает null, сопоставление удаляется. Если сама функция переназначения выбросит исключение (непроверяемого типа), исключение перебрасывается, а текущее сопоставление остаётся неизменным.
Функция переназначения не должна изменять эту карту во время вычисления.
Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция переназначения изменяет эту карту во время вычисления.
- Specified by:
-
computeIfPresentin interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переназначения для вычисления значения - Returns:
- новое значение, связанное с указанным ключом, или null, если нет
- Throws:
-
ConcurrentModificationException- если было обнаружено, что функция переназначения изменила эту карту
compute
public V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
null, если текущего сопоставления нет). Например, для создания или добавления String msg к сопоставленному значению:
map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg)) (Метод merge() часто проще использовать для таких целей.) Если функция переназначения возвращает null, сопоставление удаляется (или остаётся отсутствующим, если оно изначально отсутствовало). Если сама функция переназначения выбросит исключение (непроверяемого типа), исключение перебрасывается, а текущее сопоставление остаётся неизменным.
Функция переназначения не должна изменять эту карту во время вычисления.
Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция переназначения изменяет эту карту во время вычисления.
- Specified by:
-
computein interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переназначения для вычисления значения - Returns:
- новое значение, связанное с указанным ключом, или null, если нет
- Throws:
-
ConcurrentModificationException- если было обнаружено, что функция переназначения изменила эту карту
merge
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для ключа. Например, для создания или добавления String msg к сопоставленному значению:
map.merge(key, msg, String::concat)
Если функция переназначения возвращает null, сопоставление удаляется. Если сама функция переназначения выбросит исключение (непроверяемого типа), исключение перебрасывается, а текущее сопоставление остаётся неизменным.
Функция переназначения не должна изменять эту карту во время вычисления.
Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция переназначения изменяет эту карту во время вычисления.
- Specified by:
-
mergein interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано результирующее значение -
value- ненулевое значение, которое должно быть объединено с существующим значением, связанным с ключом, или, если существующее значение или значение null связано с ключом, должно быть связано с ключом -
remappingFunction- функция переназначения для повторного вычисления значения, если оно присутствует - Returns:
- новое значение, связанное с указанным ключом, или null, если значение не связано с ключом
- Throws:
-
ConcurrentModificationException- если было обнаружено, что функция переназначения изменила эту карту
remove
public V remove(Object key)
- Specified by:
-
removein interfaceMap<K,V> - Overrides:
-
removein classAbstractMap<K,V> - Parameters:
-
key- ключ, для которого должно быть удалено сопоставление - Returns:
- предыдущее значение, связанное с
key, илиnull, если дляkeyне было сопоставления. (Возвратnullтакже может указывать, что карта ранее связывалаnullсо значениемkey). - Throws:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в настоящее время находятся в карте -
NullPointerException- если указанный ключ равен null, и эта карта использует естественный порядок, или её компаратор не допускает null-ключи
clear
public void clear()
- Specified by:
-
clearin interfaceMap<K,V> - Overrides:
-
clearin classAbstractMap<K,V>
clone
public Object clone()
TreeMap. (Ключи и значения сами по себе не клонируются.)- Overrides:
-
clonein classAbstractMap<K,V> - Returns:
- поверхностную копию этой карты
- See Also:
firstEntry
public Map.Entry<K,V> firstEntry()
NavigableMapnull, если отображение пустое.- Определено в:
-
firstEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
firstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- запись с наименьшим ключом или
null, если это отображение пустое - С:
- 1.6
lastEntry
public Map.Entry<K,V> lastEntry()
NavigableMapnull, если отображение пустое.- Определено в:
-
lastEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
lastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- запись с наибольшим ключом, или
null, если это отображение пустое - С:
- 1.6
pollFirstEntry
public Map.Entry<K,V> pollFirstEntry()
NavigableMapnull, если отображение пустое.- Определено в:
-
pollFirstEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
pollFirstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленную первую запись этого отображения, или
null, если это отображение пустое - С:
- 1.6
pollLastEntry
public Map.Entry<K,V> pollLastEntry()
NavigableMapnull, если отображение пустое.- Определено в:
-
pollLastEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
pollLastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленную последнюю запись этого отображения, или
null, если это отображение пустое - С:
- 1.6
lowerEntry
public Map.Entry<K,V> lowerEntry(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
lowerEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наибольшим ключом, меньшим
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
lowerKey
public K lowerKey(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
lowerKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наибольший ключ, меньший
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
floorEntry
public Map.Entry<K,V> floorEntry(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
floorEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наибольшим ключом, меньшим или равным
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
floorKey
public K floorKey(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
floorKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наибольший ключ, меньший или равный
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
ceilingEntry
public Map.Entry<K,V> ceilingEntry(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
ceilingEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наименьшим ключом, большим или равным
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
ceilingKey
public K ceilingKey(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
ceilingKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наименьший ключ, больший или равный
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
higherEntry
public Map.Entry<K,V> higherEntry(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
higherEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наименьшим ключом, большим
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
higherKey
public K higherKey(K key)
NavigableMapnull, если такого ключа нет.- Определено в:
-
higherKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наименьший ключ, больший
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении -
NullPointerException- если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null - С:
- 1.6
keySet
public Set<K> keySet()
Set ключей, содержащихся в этом отображении. Итератор набора возвращает ключи в порядке возрастания. Разделитель набора является поздне-связанным, быстропроверяющим, и дополнительно сообщает о Spliterator.SORTED и Spliterator.ORDERED с порядком встречи, который является порядком возрастания ключей. Разделитель итератора (см. Spliterator.getComparator()) равен null, если компаратор дерева (см. comparator()) равен null. В противном случае, компаратор разделителя итератора такой же, как или накладывает такое же полное упорядочение, как компаратор дерева отображений.
Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операции remove самого итератора), результаты итерации не определены. Набор поддерживает удаление элементов, удаляя соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
- Specified by:
-
keySetв интерфейсеMap<K,V> - Specified by:
-
keySetв интерфейсеSortedMap<K,V> - Overrides:
-
keySetв классеAbstractMap<K,V> - Returns:
- представление набора ключей, содержащихся в этом отображении
descendingKeySet
public NavigableSet<K> descendingKeySet()
NavigableMapNavigableSet ключей, содержащихся в этом отображении в обратном порядке. Итератор набора возвращает ключи в порядке убывания. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операции
remove самого итератора), результаты итерации не определены. Набор поддерживает удаление элементов, удаляя соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.- Specified by:
-
descendingKeySetв интерфейсеNavigableMap<K,V> - Returns:
- представление навигационного набора ключей в этом отображении в обратном порядке
- Since:
- 1.6
values
public Collection<V> values()
Collection значений, содержащихся в этом отображении. Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Разделитель коллекции является поздне-связанным, быстропроверяющим, и дополнительно сообщает о Spliterator.ORDERED с порядком встречи, который представляет собой порядок возрастания соответствующих ключей.
Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции, и наоборот. Если отображение изменяется во время итерации по коллекции (кроме операции remove самого итератора), результаты итерации не определены. Коллекция поддерживает удаление элементов, удаляя соответствующее отображение из отображения, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
- Specified by:
-
valuesв интерфейсеMap<K,V> - Specified by:
-
valuesв интерфейсеSortedMap<K,V> - Overrides:
-
valuesв классеAbstractMap<K,V> - Returns:
- представление коллекции значений, содержащихся в этом отображении
entrySet
public Set<Map.Entry<K,V>> entrySet()
Set сопоставлений, содержащихся в этом отображении. Итератор набора возвращает записи в порядке возрастания ключей. Разделитель набора является поздне-связанным, быстропроверяющим, и дополнительно сообщает о Spliterator.SORTED и Spliterator.ORDERED с порядком встречи, который является порядком возрастания ключей.
Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операции remove самого итератора или операции setValue на записи отображения, возвращенной итератором), результаты итерации не определены. Набор поддерживает удаление элементов, удаляя соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
- Specified by:
-
entrySetв интерфейсеMap<K,V> - Specified by:
-
entrySetв интерфейсеSortedMap<K,V> - Returns:
- представление набора сопоставлений, содержащихся в этом отображении, отсортированных по возрастанию ключей
descendingMap
public NavigableMap<K,V> descendingMap()
NavigableMapremove самого итератора), результаты итерации не определены. Возвращаемое отображение имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление отображения m, по сути, эквивалентное m.
- Specified by:
-
descendingMapв интерфейсеNavigableMap<K,V> - Returns:
- представление отображения в обратном порядке
- Since:
- 1.6
subMap
public NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
NavigableMapfromKey до toKey. Если fromKey и toKey равны, возвращаемое отображение пусто, за исключением случая, когда fromInclusive и toInclusive оба истинны. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении, и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставки ключа за пределами своего диапазона или при построении подотображения, конечные точки которого лежат за пределами его диапазона.
- Specified by:
-
subMapв интерфейсеNavigableMap<K,V> - 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выходят за границы диапазона - Since:
- 1.6
headMap
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)
NavigableMapinclusive равно true) toKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне своего диапазона.
- Указано в:
-
headMapв интерфейсеNavigableMap<K,V> - Параметры:
-
toKey- верхний край ключей в возвращаемом отображении -
inclusive-true, если верхний край должен быть включен в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого меньше (или меньше или равны, если
inclusiveравно true)toKey - Исключение:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этого отображения (или, если у отображения нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиtoKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключей -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, иtoKeyнаходится за пределами границ диапазона - С:
- 1.6
tailMap
public NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
NavigableMapinclusive равно true) fromKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне своего диапазона.
- Указано в:
-
tailMapв интерфейсеNavigableMap<K,V> - Параметры:
-
fromKey- нижний край ключей в возвращаемом отображении -
inclusive-true, если нижний край должен быть включен в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого больше (или больше или равны, если
inclusiveравно true)fromKey - Исключение:
-
ClassCastException- еслиfromKeyнесовместим с компаратором этого отображения (или, если у отображения нет компаратора, еслиfromKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиfromKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключей -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, иfromKeyнаходится за пределами границ диапазона - С:
- 1.6
subMap
public SortedMap<K,V> subMap(K fromKey, K toKey)
NavigableMapfromKey (включительно) до toKey (исключительно). (Если fromKey и toKey равны, возвращаемое отображение пустое.) Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне своего диапазона.
Эквивалентно subMap(fromKey, true, toKey, false).
- Указано в:
-
subMapв интерфейсеNavigableMap<K,V> - Указано в:
-
subMapв интерфейсеSortedMap<K,V> - Параметры:
-
fromKey- нижний край (включительно) ключей в возвращаемом отображении -
toKey- верхний край (исключительно) ключей в возвращаемом отображении - Возвращает:
- представление части этого отображения, ключи которого находятся в диапазоне от
fromKey(включительно) доtoKey(исключительно) - Исключение:
-
ClassCastException- еслиfromKeyиtoKeyнельзя сравнить друг с другом с помощью компаратора этого отображения (или, если у отображения нет компаратора, с использованием естественного порядка). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyилиtoKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиfromKeyилиtoKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключей -
IllegalArgumentException- еслиfromKeyбольшеtoKey; или если у этого отображения есть ограниченный диапазон, иfromKeyилиtoKeyнаходятся за пределами границ диапазона
headMap
public SortedMap<K,V> headMap(K toKey)
NavigableMaptoKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне своего диапазона.
Эквивалентно headMap(toKey, false).
- Указано в:
-
headMapв интерфейсеNavigableMap<K,V> - Указано в:
-
headMapв интерфейсеSortedMap<K,V> - Параметры:
-
toKey- верхний край (исключительно) ключей в возвращаемом отображении - Возвращает:
- представление части этого отображения, ключи которого строго меньше
toKey - Исключение:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этого отображения (или, если у отображения нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиtoKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключей -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, иtoKeyнаходится за пределами границ диапазона
tailMap
public SortedMap<K,V> tailMap(K fromKey)
NavigableMapfromKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне своего диапазона.
Эквивалентно tailMap(fromKey, true).
- Указано в:
-
tailMapв интерфейсеNavigableMap<K,V> - Указано в:
-
tailMapв интерфейсеSortedMap<K,V> - Параметры:
-
fromKey- нижний край (включительно) ключей в возвращаемом отображении - Возвращает:
- представление части этого отображения, ключи которого больше или равны
fromKey - Исключение:
-
ClassCastException- еслиfromKeyнесовместим с компаратором этого отображения (или, если у отображения нет компаратора, еслиfromKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиfromKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключей -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, иfromKeyнаходится за пределами границ диапазона
© 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/TreeMap.html