Класс TreeMap<K, V>
- Type Parameters:
-
K- тип ключей, поддерживаемых этой картой -
V- тип сопоставленных значений
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Map<K,,V> NavigableMap<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 на основе наилучших усилий. Поэтому неверно создавать программу, которая полагалась бы на это исключение для правильности: быстрое действие итераторов должно использоваться только для обнаружения ошибок.
Все Map.Entry пары, возвращаемые методами в этом классе и его представлениях, представляют собой снимки сопоставлений на момент их создания. Они не поддерживают метод Entry.setValue. (Однако обратите внимание, что можно изменить сопоставления в связанной карте с помощью put.)
Этот класс является членом Java Collections Framework.
- Since:
- 1.2
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.AbstractMap
AbstractMap.SimpleEntry<K, V>, AbstractMap.SimpleImmutableEntry<K, V>
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TreeMap() |
Создаёт новый, пустой дерево-список, используя естественный порядок своих ключей. |
TreeMap |
Создаёт новый, пустой дерево-список, упорядоченный в соответствии с заданным компаратором. |
TreeMap |
Создаёт новый дерево-список, содержащий те же отображения, что и заданный список, упорядоченный в соответствии с естественным порядком своих ключей. |
TreeMap |
Создаёт новый дерево-список, содержащий те же отображения и использующий ту же сортировку, что и указанный отсортированный список. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Map.Entry<K, |
ceilingEntry |
Возвращает отображение ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null если такого ключа нет. |
K |
ceilingKey |
Возвращает наименьший ключ, больший или равный заданному ключу, или null если такого ключа нет. |
void |
clear() |
Удаляет все отображения из этого списка. |
Object |
clone() |
Возвращает неглубокую копию этого TreeMap экземпляра. |
Comparator<? super K> |
comparator() |
Возвращает компаратор, используемый для упорядочивания ключей в этом списке, или null если этот список использует естественный порядок своих ключей. |
V |
compute |
Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null если текущего отображения нет). |
V |
computeIfAbsent |
Если указанный ключ не связан с значением (или связан с null), пытается вычислить его значение с помощью заданной функции отображения и вводит его в этот список, если null. |
V |
computeIfPresent |
Если значение для указанного ключа присутствует и не равно null, пытается вычислить новое отображение, учитывая ключ и его текущее сопоставленное значение. |
boolean |
containsKey |
Возвращает true если этот список содержит отображение для указанного ключа. |
boolean |
containsValue |
Возвращает true если этот список отображает один или несколько ключей на указанное значение. |
NavigableSet<K> |
descendingKeySet() |
Возвращает список в обратном порядке NavigableSet ключей, содержащихся в этом списке. |
NavigableMap<K, |
descendingMap() |
Возвращает отображение в обратном порядке отображений, содержащихся в этом списке. |
Set<Map.Entry<K, |
entrySet() |
Возвращает Set представление отображений, содержащихся в этом списке. |
Map.Entry<K, |
firstEntry() |
Возвращает отображение ключ-значение, связанное с наименьшим ключом в этом списке, или null если список пуст. |
K |
firstKey() |
Возвращает первый (наименьший) ключ, находящийся в этом списке. |
Map.Entry<K, |
floorEntry |
Возвращает отображение ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, меньший или равный заданному ключу, или null если такого ключа нет. |
V |
get |
Возвращает значение, которому сопоставлен указанный ключ, или null если в этом списке нет отображения для ключа. |
SortedMap<K, |
headMap |
Возвращает представление части этого списка, ключи которого строго меньше toKey. |
NavigableMap<K, |
headMap |
Возвращает представление части этого списка, ключи которого меньше (или равны, если inclusive истинно) toKey. |
Map.Entry<K, |
higherEntry |
Возвращает отображение ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null если такого ключа нет. |
Set<K> |
keySet() |
Возвращает Set представление ключей, содержащихся в этом списке. |
Map.Entry<K, |
lastEntry() |
Возвращает отображение ключ-значение, связанное с наибольшим ключом в этом списке, или null если список пуст. |
K |
lastKey() |
Возвращает последний (наибольший) ключ, находящийся в этом списке. |
Map.Entry<K, |
lowerEntry |
Возвращает отображение ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null если такого ключа нет. |
V |
merge |
Если указанный ключ ещё не связан со значением или связан с null, связывает его с заданным ненулевым значением. |
NavigableSet<K> |
navigableKeySet() |
Возвращает NavigableSet представление ключей, содержащихся в этом списке. |
Map.Entry<K, |
pollFirstEntry() |
Удаляет и возвращает отображение ключ-значение, связанное с наименьшим ключом в этом списке, или null если список пуст. |
Map.Entry<K, |
pollLastEntry() |
Удаляет и возвращает отображение ключ-значение, связанное с наибольшим ключом в этом списке, или null если список пуст. |
V |
put |
Связывает указанное значение с указанным ключом в этом списке. |
void |
putAll |
Копирует все отображения из указанного списка в этот список. |
V |
remove |
Удаляет отображение для этого ключа из этого TreeMap, если оно присутствует. |
int |
size() |
Возвращает количество отображений ключ-значение в этом списке. |
NavigableMap<K, |
subMap |
Возвращает представление части этого списка, ключи которого находятся в диапазоне от fromKey до toKey. |
SortedMap<K, |
subMap |
Возвращает представление части этого списка, ключи которого находятся в диапазоне от fromKey, включительно, до toKey, не включительно. |
SortedMap<K, |
tailMap |
Возвращает представление части этого списка, ключи которого больше или равны fromKey. |
NavigableMap<K, |
tailMap |
Возвращает представление части этого списка, ключи которого больше (или равны, если inclusive истинно) fromKey. |
Collection<V> |
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
Подробное описание конструкторов
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- если эта карта пуста
putAll
public void putAll(Map<? extends K,? extends V> map)
- Унаследованно от:
-
putAllв интерфейсеMap<K,V> - Переопределяет:
-
putAllв классеAbstractMap<K,V> - Параметры:
-
map- сопоставления, которые нужно сохранить в этой карте - Исключения:
-
ClassCastException- если класс ключа или значения в указанной карте препятствует его сохранению в этой карте -
NullPointerException- если указанная карта равна null или указанная карта содержит null-ключ, а эта карта не допускает null-ключей
put
public V put(K key, V value)
- Унаследованно от:
-
putв интерфейсеMap<K,V> - Переопределяет:
-
putв классеAbstractMap<K,V> - Параметры:
-
key- ключ, с которым должно быть ассоциировано указанное значение -
value- значение, которое должно быть ассоциировано с указанным ключом - Возвращает:
- предыдущее значение, ассоциированное с
key, илиnull, если дляkeyне было сопоставления. (Возвращаемое значениеnullтакже может указывать, что карта ранее ассоциировалаnullсо значениемkey.) - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, присутствующими в карте -
NullPointerException- если указанный ключ равен null и эта карта использует естественный порядок, или её компаратор не допускает null-ключей
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
null), пытается вычислить его значение с помощью заданной функции отображения и помещает его в этот map, если null. Если функция отображения возвращает null, отображение не регистрируется. Если сама функция отображения вызывает (непроверенное) исключение, исключение перебрасывается, и отображение не регистрируется. Наиболее распространённое использование — создание нового объекта, служащего начальным сопоставленным значением или кешированным результатом, как в:
map.computeIfAbsent(key, k -> new Value(f(k)));
Или для реализации карты с множественными значениями, Map<K,Collection<V>>, поддерживающей несколько значений на один ключ:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
Функция отображения не должна изменять этот map во время вычисления.
Этот метод, по возможности, выбросит исключение ConcurrentModificationException, если обнаружит, что функция отображения изменяет этот map во время вычисления.
- Specified by:
-
computeIfAbsentin interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
mappingFunction- функция отображения для вычисления значения - Returns:
- текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
- Throws:
-
ConcurrentModificationException- если обнаружено, что функция отображения изменила этот map
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Если функция переопределения возвращает null, отображение удаляется. Если сама функция переопределения вызывает (непроверенное) исключение, исключение перебрасывается, и текущее отображение остаётся неизменным.
Функция переопределения не должна изменять этот map во время вычисления.
Этот метод, по возможности, выбросит исключение ConcurrentModificationException, если обнаружит, что функция переопределения изменяет этот map во время вычисления.
- Specified by:
-
computeIfPresentin interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переопределения для вычисления значения - Returns:
- новое значение, связанное с указанным ключом, или null, если отсутствует
- Throws:
-
ConcurrentModificationException- если обнаружено, что функция переопределения изменила этот map
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, отображение удаляется (или остаётся отсутствующим, если изначально отсутствовало). Если сама функция переопределения вызывает (непроверенное) исключение, исключение перебрасывается, и текущее отображение остаётся неизменным.
Функция переопределения не должна изменять этот map во время вычисления.
Этот метод, по возможности, выбросит исключение ConcurrentModificationException, если обнаружит, что функция переопределения изменяет этот map во время вычисления.
- Specified by:
-
computein interfaceMap<K,V> - Parameters:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переопределения для вычисления значения - Returns:
- новое значение, связанное с указанным ключом, или null, если отсутствует
- Throws:
-
ConcurrentModificationException- если обнаружено, что функция переопределения изменила этот map
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, отображение удаляется. Если сама функция переопределения вызывает (непроверенное) исключение, исключение перебрасывается, и текущее отображение остаётся неизменным.
Функция переопределения не должна изменять этот map во время вычисления.
Этот метод, по возможности, выбросит исключение ConcurrentModificationException, если обнаружит, что функция переопределения изменяет этот map во время вычисления.
- Specified by:
-
mergein interfaceMap<K,V> - Parameters:
-
key- ключ, с которым будет связано результирующее значение -
value- ненулевое значение, которое должно быть объединено с существующим значением, связанным с ключом, или, если существующего значения или значения null не существует, которое должно быть связано с ключом -
remappingFunction- функция переопределения для повторного вычисления значения, если оно присутствует - Returns:
- новое значение, связанное с указанным ключом, или null, если ключ не связан ни с каким значением
- Throws:
-
ConcurrentModificationException- если обнаружено, что функция переопределения изменила этот map
remove
public V remove(Object key)
- Specified by:
-
removein interfaceMap<K,V> - Overrides:
-
removein classAbstractMap<K,V> - Parameters:
-
key- ключ, отображение для которого должно быть удалено - Returns:
- предыдущее значение, связанное с
key, илиnullесли дляkeyне было отображения. (Возвратnullтакже может указывать, что map ранее сопоставилnullсkey.) - Throws:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в map -
NullPointerException- если указанный ключ равен null, и этот map использует естественный порядок сортировки, или его компаратор не допускает 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:
- неглубокую копию этого map
- See Also:
firstEntry
public Map.Entry<K,V> firstEntry()
NavigableMapnull если map пустой.- Specified by:
-
firstEntryin interfaceNavigableMap<K,V> - Returns:
- запись с наименьшим ключом, или
nullесли этот map пустой - Since:
- 1.6
lastEntry
public Map.Entry<K,V> lastEntry()
NavigableMapnull если map пустой.- Specified by:
-
lastEntryin interfaceNavigableMap<K,V> - Returns:
- запись с наибольшим ключом, или
nullесли этот map пустой - Since:
- 1.6
pollFirstEntry
public Map.Entry<K,V> pollFirstEntry()
NavigableMapnull если map пустой.- Specified by:
-
pollFirstEntryin interfaceNavigableMap<K,V> - Returns:
- удаленная первая запись этого map, или
nullесли этот map пустой - Since:
- 1.6
pollLastEntry
public Map.Entry<K,V> pollLastEntry()
NavigableMapnull если map пустой.- Specified by:
-
pollLastEntryin interfaceNavigableMap<K,V> - Returns:
- удаленная последняя запись этого map, или
nullесли этот map пустой - Since:
- 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.
- Указано:
-
keySetв интерфейсеMap<K,V> - Указано:
-
keySetв интерфейсеSortedMap<K,V> - Переопределяет:
-
keySetв классеAbstractMap<K,V> - Возвращает:
- представление набора ключей, содержащихся в этом отображении
descendingKeySet
public NavigableSet<K> descendingKeySet()
NavigableMap
remove), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Он не поддерживает операции add или addAll.- Указано в:
-
descendingKeySetв интерфейсеNavigableMap<K,V> - Возвращает:
- представление набора ключей в обратном порядке в этом отображении
- С:
- 1.6
values
public Collection<V> values()
Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Разделитель коллекции является позднесвязываемым, немедленно прерывается и дополнительно сообщает Spliterator.ORDERED с порядком встречи, который является порядком возрастания соответствующих ключей.
Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции, и наоборот. Если отображение изменяется во время итерации по коллекции (кроме операций самого итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
- Указано в:
-
valuesв интерфейсеMap<K,V> - Указано в:
-
valuesв интерфейсеSortedMap<K,V> - Переопределяет:
-
valuesв классеAbstractMap<K,V> - Возвращает:
- представление коллекции значений, содержащихся в этом отображении
entrySet
public Set<Map.Entry<K,V>> entrySet()
Итератор набора возвращает записи в порядке возрастания ключей. Разделитель набора является позднесвязываемым, немедленно прерывается и дополнительно сообщает Spliterator.SORTED и Spliterator.ORDERED с порядком встречи, который является порядком возрастания ключей.
Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операций самого итератора remove, или операции setValue для записи отображения, возвращённой итератором), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
- Указано в:
-
entrySetв интерфейсеMap<K,V> - Указано в:
-
entrySetв интерфейсеSortedMap<K,V> - Возвращает:
- представление набора сопоставлений, содержащихся в этом отображении, отсортированные по возрастанию ключей
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 равно 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, 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/TreeMap.html