Spec-Zone.ru › OpenJDK 21

Класс TreeMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.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
См. также:
  • Map
  • HashMap
  • Hashtable
  • Comparable
  • Comparator
  • Collection
  • Формат сериализации

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.util.AbstractMap

AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>

Краткое описание конструкторов

Конструктор Описание
TreeMap()
Создаёт новую пустую карту дерева, используя естественный порядок своих ключей.
TreeMap(Comparator<? super K> comparator)
Создаёт новую пустую карту дерева, отсортированную в соответствии с заданным компаратором.
TreeMap(Map<? extends K,? extends V> m)
Создаёт новую карту дерева, содержащую те же сопоставления, что и заданная карта, отсортированную в соответствии с естественным порядком своих ключей.
TreeMap(SortedMap<K,? extends V> m)
Создаёт новую карту дерева, содержащую те же сопоставления и использующую тот же порядок, что и указанная отсортированная карта.

Краткое описание методов

Modifier and Type Method Description
Map.Entry<K,V> ceilingEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такого ключа нет.
K ceilingKey(K key)
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет.
void clear()
Удаляет все сопоставления из этого карты.
Object clone()
Возвращает неглубокую копию этого TreeMap экземпляра.
Comparator<? super K> comparator()
Возвращает компаратор, используемый для упорядочивания ключей в этой карте, или null, если эта карта использует естественное упорядочение своих ключей.
V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Попытка вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или null, если нет текущего сопоставления).
V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
Если указанный ключ еще не связан со значением (или сопоставлен с null), пытается вычислить его значение с помощью заданной функции сопоставления и вводит его в эту карту, если null.
V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Если значение для указанного ключа присутствует и не null, пытается вычислить новое сопоставление, задав ключ и его текущее сопоставленное значение.
boolean containsKey(Object key)
Возвращает true, если эта карта содержит сопоставление для указанного ключа.
boolean containsValue(Object value)
Возвращает true, если эта карта сопоставляет один или несколько ключей со значением.
NavigableSet<K> descendingKeySet()
Возвращает набор ключей, содержащихся в этой карте, в обратном порядке.
NavigableMap<K,V> descendingMap()
Возвращает вид сопоставлений, содержащихся в этой карте, в обратном порядке.
Set<Map.Entry<K,V>> entrySet()
Возвращает вид сопоставлений, содержащихся в этой карте.
Map.Entry<K,V> firstEntry()
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null, если карта пуста.
K firstKey()
Возвращает первый (наименьший) ключ, который в настоящее время находится в этой карте.
Map.Entry<K,V> floorEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null, если такого ключа нет.
K floorKey(K key)
Возвращает наибольший ключ, меньший или равный заданному ключу, или null, если такого ключа нет.
V get(Object key)
Возвращает значение, которому сопоставлен указанный ключ, или null, если в этой карте нет сопоставления для ключа.
SortedMap<K,V> headMap(K toKey)
Возвращает представление части этой карты, ключи которой строго меньше toKey.
NavigableMap<K,V> headMap(K toKey, boolean inclusive)
Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey.
Map.Entry<K,V> higherEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет.
K higherKey(K key)
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет.
Set<K> keySet()
Возвращает представление набора ключей, содержащихся в этой карте.
Map.Entry<K,V> lastEntry()
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null, если карта пуста.
K lastKey()
Возвращает последний (наибольший) ключ, который в настоящее время находится в этой карте.
Map.Entry<K,V> lowerEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null, если такого ключа нет.
K lowerKey(K key)
Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null, если такого ключа нет.
V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
Если указанный ключ еще не связан со значением или связан с null, связывает его с указанным ненулевым значением.
NavigableSet<K> navigableKeySet()
Возвращает представление набора ключей, содержащихся в этой карте.
Map.Entry<K,V> pollFirstEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null, если карта пуста.
Map.Entry<K,V> pollLastEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null, если карта пуста.
V put(K key, V value)
Связывает указанное значение с указанным ключом в этой карте.
void putAll(Map<? extends K,? extends V> map)
Копирует все сопоставления из указанной карты в эту карту.
V putFirst(K k, V v)
Выбрасывает UnsupportedOperationException.
V putLast(K k, V v)
Выбрасывает UnsupportedOperationException.
V remove(Object key)
Удаляет сопоставление для этого ключа из этой TreeMap, если оно присутствует.
int size()
Возвращает количество сопоставлений ключ-значение в этой карте.
NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey.
SortedMap<K,V> subMap(K fromKey, K toKey)
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включая.
SortedMap<K,V> tailMap(K fromKey)
Возвращает представление части этой карты, ключи которой больше или равны fromKey.
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey.
Collection<V> 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()
Описание скопировано из интерфейса: SortedMap
Возвращает компаратор, используемый для упорядочения ключей в этой карте, или null, если эта карта использует естественный порядок своих ключей.
Унаследованно от:
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:
putAll in interface Map<K,V>
Overrides:
putAll in class AbstractMap<K,V>
Parameters:
map - сопоставления, которые должны быть сохранены в этой карте
Throws:
ClassCastException - если класс ключа или значения в указанной карте препятствует его хранению в этой карте
NullPointerException - если указанная карта равна null или указанная карта содержит null-ключ, а эта карта не допускает null-ключи

put

public V put(K key, V value)
Связывает указанное значение с указанным ключом в этой карте. Если карта ранее содержала сопоставление для ключа, старое значение заменяется.
Specified by:
put in interface Map<K,V>
Overrides:
put in class AbstractMap<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:
computeIfAbsent in interface Map<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, пытается вычислить новое сопоставление, используя ключ и его текущее сопоставленное значение.

Если функция переназначения возвращает null, сопоставление удаляется. Если сама функция переназначения выбросит исключение (непроверяемого типа), исключение перебрасывается, а текущее сопоставление остаётся неизменным.

Функция переназначения не должна изменять эту карту во время вычисления.

Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция переназначения изменяет эту карту во время вычисления.

Specified by:
computeIfPresent in interface Map<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:
compute in interface Map<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, связывает его с заданным ненулевым значением. В противном случае, заменяет связанное значение результатом заданной функции переназначения или удаляет, если результат равен null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для ключа. Например, для создания или добавления String msg к сопоставленному значению:
 
 map.merge(key, msg, String::concat)
 

Если функция переназначения возвращает null, сопоставление удаляется. Если сама функция переназначения выбросит исключение (непроверяемого типа), исключение перебрасывается, а текущее сопоставление остаётся неизменным.

Функция переназначения не должна изменять эту карту во время вычисления.

Этот метод, применительно к возможностям, попытается выбросить ConcurrentModificationException, если будет обнаружено, что функция переназначения изменяет эту карту во время вычисления.

Specified by:
merge in interface Map<K,V>
Parameters:
key - ключ, с которым должно быть связано результирующее значение
value - ненулевое значение, которое должно быть объединено с существующим значением, связанным с ключом, или, если существующее значение или значение null связано с ключом, должно быть связано с ключом
remappingFunction - функция переназначения для повторного вычисления значения, если оно присутствует
Returns:
новое значение, связанное с указанным ключом, или null, если значение не связано с ключом
Throws:
ConcurrentModificationException - если было обнаружено, что функция переназначения изменила эту карту

remove

public V remove(Object key)
Удаляет сопоставление для этого ключа из этой TreeMap, если оно присутствует.
Specified by:
remove in interface Map<K,V>
Overrides:
remove in class AbstractMap<K,V>
Parameters:
key - ключ, для которого должно быть удалено сопоставление
Returns:
предыдущее значение, связанное с key, или null, если для key не было сопоставления. (Возврат null также может указывать, что карта ранее связывала null со значением key).
Throws:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые в настоящее время находятся в карте
NullPointerException - если указанный ключ равен null, и эта карта использует естественный порядок, или её компаратор не допускает null-ключи

clear

public void clear()
Удаляет все сопоставления из этой карты. После возврата этого вызова карта будет пустой.
Specified by:
clear in interface Map<K,V>
Overrides:
clear in class AbstractMap<K,V>

clone

public Object clone()
Возвращает поверхностную копию этого экземпляра TreeMap. (Ключи и значения сами по себе не клонируются.)
Overrides:
clone in class AbstractMap<K,V>
Returns:
поверхностную копию этой карты
See Also:
  • Cloneable

firstEntry

public Map.Entry<K,V> firstEntry()
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или null, если отображение пустое.
Определено в:
firstEntry в интерфейсе NavigableMap<K,V>
Определено в:
firstEntry в интерфейсе SequencedMap<K,V>
Возвращает:
запись с наименьшим ключом или null, если это отображение пустое
С:
1.6

lastEntry

public Map.Entry<K,V> lastEntry()
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или null, если отображение пустое.
Определено в:
lastEntry в интерфейсе NavigableMap<K,V>
Определено в:
lastEntry в интерфейсе SequencedMap<K,V>
Возвращает:
запись с наибольшим ключом, или null, если это отображение пустое
С:
1.6

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()
Описание скопировано из интерфейса: NavigableMap
Удаляет и возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или null, если отображение пустое.
Определено в:
pollFirstEntry в интерфейсе NavigableMap<K,V>
Определено в:
pollFirstEntry в интерфейсе SequencedMap<K,V>
Возвращает:
удаленную первую запись этого отображения, или null, если это отображение пустое
С:
1.6

pollLastEntry

public Map.Entry<K,V> pollLastEntry()
Описание скопировано из интерфейса: NavigableMap
Удаляет и возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или null, если отображение пустое.
Определено в:
pollLastEntry в интерфейсе NavigableMap<K,V>
Определено в:
pollLastEntry в интерфейсе SequencedMap<K,V>
Возвращает:
удаленную последнюю запись этого отображения, или null, если это отображение пустое
С:
1.6

lowerEntry

public Map.Entry<K,V> lowerEntry(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наибольшим ключом, строго меньшим заданного ключа, или null, если такого ключа нет.
Определено в:
lowerEntry в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
запись с наибольшим ключом, меньшим key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

lowerKey

public K lowerKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наибольший ключ, строго меньший заданного ключа, или null, если такого ключа нет.
Определено в:
lowerKey в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
наибольший ключ, меньший key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

floorEntry

public Map.Entry<K,V> floorEntry(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null, если такого ключа нет.
Определено в:
floorEntry в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
запись с наибольшим ключом, меньшим или равным key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

floorKey

public K floorKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наибольший ключ, меньший или равный заданному ключу, или null, если такого ключа нет.
Определено в:
floorKey в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
наибольший ключ, меньший или равный key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

ceilingEntry

public Map.Entry<K,V> ceilingEntry(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такого ключа нет.
Определено в:
ceilingEntry в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
запись с наименьшим ключом, большим или равным key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

ceilingKey

public K ceilingKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет.
Определено в:
ceilingKey в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
наименьший ключ, больший или равный key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

higherEntry

public Map.Entry<K,V> higherEntry(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает отображение ключ-значение, связанное с наименьшим ключом, строго большим заданного ключа, или null, если такого ключа нет.
Определено в:
higherEntry в интерфейсе NavigableMap<K,V>
Параметры:
key - ключ
Возвращает:
запись с наименьшим ключом, большим key, или null, если такого ключа нет
Исключения:
ClassCastException - если заданный ключ не может быть сравнен с ключами, которые есть в настоящее время в отображении
NullPointerException - если заданный ключ имеет значение null, и это отображение использует естественный порядок, или его компаратор не допускает ключей со значением null
С:
1.6

higherKey

public K higherKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наименьший ключ, строго больший заданного ключа, или null, если такого ключа нет.
Определено в:
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:
представление набора ключей, содержащихся в этом отображении

navigableKeySet

public NavigableSet<K> navigableKeySet()
Описание скопировано из интерфейса: NavigableMap
Возвращает представление NavigableSet ключей, содержащихся в этом отображении. Итератор набора возвращает ключи в порядке возрастания. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операции remove самого итератора), результаты итерации не определены. Набор поддерживает удаление элементов, удаляя соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
Specified by:
navigableKeySet в интерфейсе NavigableMap<K,V>
Returns:
представление навигационного набора ключей в этом отображении
Since:
1.6

descendingKeySet

public NavigableSet<K> descendingKeySet()
Описание скопировано из интерфейса: NavigableMap
Возвращает представление навигационного набора NavigableSet ключей, содержащихся в этом отображении в обратном порядке. Итератор набора возвращает ключи в порядке убывания. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операции 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()
Описание скопировано из интерфейса: NavigableMap
Возвращает представление отображения сопоставлений в обратном порядке, содержащихся в этом отображении. Отображение в обратном порядке поддерживается этим отображением, поэтому изменения в отображении отражаются в обратном отображении, и наоборот. Если любое отображение изменяется во время итерации по представлению коллекции элементов либо отображения (кроме операции remove самого итератора), результаты итерации не определены.

Возвращаемое отображение имеет порядок, эквивалентный 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey до 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого меньше (или меньше или равны, если inclusive равно 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого больше (или больше или равны, если inclusive равно 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey (включительно) до 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого строго меньше toKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.

Возвращаемое отображение будет выбрасывать 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)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого больше или равны fromKey. Возвращаемое отображение основано на этом отображении, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.

Возвращаемое отображение будет выбрасывать 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API