Класс TreeMap<K, V>
- Параметры типа:
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.
Обратите внимание, что эта реализация не синхронизирована. Если несколько потоков обращаются к карте одновременно, и по крайней мере один из потоков изменяет карту структурно, она должна быть синхронизирована внешне. (Структурное изменение - это любая операция, добавляющая или удаляющая одну или несколько пар ключ-значение; простое изменение значения, связанного с существующим ключом, не является структурным изменением.) Это обычно выполняется путем синхронизации на каком-либо объекте, естественным образом encapsulating карту. Если такого объекта нет, карта должна быть «обернута» с помощью метода 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.
- С тех пор:
- 1.2
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.AbstractMap
AbstractMap.SimpleEntry<K, V>, AbstractMap.SimpleImmutableEntry<K, V>
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeMap() |
Создает новую пустую карту дерева, используя естественный порядок своих ключей. |
TreeMap |
Создает новую пустую карту дерева, упорядоченную согласно заданному компаратору. |
TreeMap |
Создает новое дерево карт, содержащее те же сопоставления, что и заданная карта, упорядоченная в соответствии с естественным порядком её ключей. |
TreeMap |
Создает новое дерево карт, содержащее те же сопоставления и использующее тот же порядок, что и указанная упорядоченная карта. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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() |
Возвращает отображение в обратном порядке NavigableSet ключей, содержащихся в этом отображении. |
NavigableMap |
descendingMap() |
Возвращает отображение в обратном порядке сопоставлений, содержащихся в этом отображении. |
Set |
entrySet() |
Возвращает Set представление сопоставлений, содержащихся в этом отображении. |
Map.Entry |
firstEntry() |
Возвращает сопоставление ключ-значение с наименьшим ключом в этом отображении, или null, если отображение пустое. |
K |
firstKey() |
Возвращает первый (наименьший) ключ, присутствующий в этом отображении. |
Map.Entry |
floorEntry |
Возвращает сопоставление ключ-значение с наибольшим ключом, меньшим или равным заданному ключу, или null, если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, меньший или равный заданному ключу, или null, если такого ключа нет. |
V |
get |
Возвращает значение, которому сопоставлен указанный ключ, или null, если это отображение не содержит сопоставления для ключа. |
SortedMap |
headMap |
Возвращает представление части этого отображения, ключи которого строго меньше toKey. |
NavigableMap |
headMap |
Возвращает представление части этого отображения, ключи которого меньше (или равны, если inclusive истинно) toKey. |
Map.Entry |
higherEntry |
Возвращает сопоставление ключ-значение с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет. |
Set |
keySet() |
Возвращает Set представление ключей, содержащихся в этом отображении. |
Map.Entry |
lastEntry() |
Возвращает сопоставление ключ-значение с наибольшим ключом в этом отображении, или null, если отображение пустое. |
K |
lastKey() |
Возвращает последний (наибольший) ключ, присутствующий в этом отображении. |
Map.Entry |
lowerEntry |
Возвращает сопоставление ключ-значение с наибольшим ключом, строго меньшим, чем заданный ключ, или null, если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null, если такого ключа нет. |
V |
merge |
Если указанный ключ еще не связан со значением или связан с null, связывает его с заданным ненулевым значением (необязательная операция). |
NavigableSet |
navigableKeySet() |
Возвращает NavigableSet представление ключей, содержащихся в этом отображении. |
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 истинно) fromKey. |
Collection |
values() |
Возвращает Collection представление значений, содержащихся в этом отображении. |
Методы, объявленные в классе 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
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 или указанная карта содержит нулевой ключ, а эта карта не допускает нулевых ключей
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 и эта карта использует естественный порядок, или её компаратор не допускает нулевых ключей
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
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 сообщения к отображаемому значению:
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
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.
descendingKeySet
public NavigableSet<K> descendingKeySet()
NavigableMapNavigableSet, содержащихся в этой карте. Итератор набора возвращает ключи в порядке убывания. Набор поддерживается картой, поэтому изменения в карте отражаются в наборе и наоборот. Если карта изменяется во время итерации по набору (кроме операции собственного итератора
remove), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.- Определено в:
-
descendingKeySetв интерфейсеNavigableMap<K,V> - Возвращает:
- навигационное представление набора ключей в этой карте в обратном порядке
- С:
- 1.6
values
public Collection<V> values()
Collection значений, содержащихся в этой карте. Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Разделитель итератора коллекции является связывающимся позднее, быстропроверяющимся и дополнительно сообщает Spliterator.ORDERED с порядком встречи, который является порядком возрастания соответствующих ключей.
Коллекция поддерживается картой, поэтому изменения в карте отражаются в коллекции и наоборот. Если карта изменяется во время итерации по коллекции (кроме операции собственного итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
entrySet
public Set<Map.Entry<K,V>> entrySet()
Set представление отображений, содержащихся в этой карте. Итератор набора возвращает записи в порядке возрастания ключей. Разделитель набора является связывающимся позднее, быстропроверяющимся и дополнительно сообщает Spliterator.SORTED и Spliterator.ORDERED с порядком встречи, который является порядком возрастания ключей.
Набор поддерживается картой, поэтому изменения в карте отражаются в наборе и наоборот. Если карта изменяется во время итерации по набору (кроме операции собственного итератора remove, или операции setValue на записи карты, возвращённой итератором), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
descendingMap
public NavigableMap<K,V> descendingMap()
NavigableMapremove), результаты итерации не определены. Возвращаемая карта имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m, по существу эквивалентное m.
- Определено в:
-
descendingMapв интерфейсеNavigableMap<K,V> - Возвращает:
- представление этой карты в обратном порядке
- С:
- 1.6
subMap
public NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
NavigableMapfromKey до toKey. Если fromKey и toKey равны, возвращаемое отображение пустое, если только fromInclusive и toInclusive оба истинны. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ за пределами своего диапазона или построить подотображение, концы которого лежат за пределами его диапазона.
- Определено в:
-
subMapв интерфейсеNavigableMap<K,V> - Параметры:
-
fromKey- нижняя граница ключей в возвращаемом отображении -
fromInclusive-true, если нижнюю границу следует включать в возвращаемое представление -
toKey- верхняя граница ключей в возвращаемом отображении -
toInclusive-true, если верхнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которой находятся в диапазоне от
fromKeyдоtoKey - Исключения:
-
ClassCastException- еслиfromKeyиtoKeyне могут быть сравнены друг с другом с помощью компаратора этого отображения (или, если у отображения нет компаратора, с использованием естественного порядка). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyилиtoKeyне могут быть сравнены с ключами, которые в данный момент есть в отображении. -
NullPointerException- еслиfromKeyилиtoKeyравно null, и это отображение использует естественный порядок, или его компаратор не допускает null-ключи -
IllegalArgumentException- еслиfromKeyбольше, чемtoKey; или если у этого отображения есть ограниченный диапазон, иfromKeyилиtoKeyнаходятся за пределами границ диапазона - С:
- 1.6
headMap
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)
NavigableMapinclusive истинно) toKey. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне его диапазона.
- Определено в:
-
headMapв интерфейсеNavigableMap<K,V> - Параметры:
-
toKey- верхняя граница ключей в возвращаемом отображении -
inclusive-true, если верхнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого меньше (или равны, если
inclusiveистинно)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 истинно) fromKey. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение. Возвращаемое отображение будет выбрасывать IllegalArgumentException при попытке вставить ключ вне его диапазона.
- Определено в:
-
tailMapв интерфейсеNavigableMap<K,V> - Параметры:
-
fromKey- нижняя граница ключей в возвращаемом отображении -
inclusive-true, если нижнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого больше (или равны, если
inclusiveистинно)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 и это отображение использует естественный порядок, или его компаратор не допускает нулевые ключи -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, иfromKeyнаходится вне границ диапазона
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/TreeMap.html