Spec-Zone.ru › OpenJDK 24

Класс TreeMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.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
См. также:
  • 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)
Создает новое дерево карт, содержащее те же сопоставления и использующее тот же порядок, что и указанная упорядоченная карта.

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

Модификатор и тип Метод Описание
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()
Возвращает отображение в обратном порядке NavigableSet ключей, содержащихся в этом отображении.
NavigableMap<K,V> descendingMap()
Возвращает отображение в обратном порядке сопоставлений, содержащихся в этом отображении.
Set<Map.Entry<K,V>> entrySet()
Возвращает Set представление сопоставлений, содержащихся в этом отображении.
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 истинно) toKey.
Map.Entry<K,V> higherEntry(K key)
Возвращает сопоставление ключ-значение с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет.
K higherKey(K key)
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет.
Set<K> keySet()
Возвращает Set представление ключей, содержащихся в этом отображении.
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()
Возвращает NavigableSet представление ключей, содержащихся в этом отображении.
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 истинно) 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

Методы, объявленные в интерфейсе java.util.NavigableMap

reversed

Методы, объявленные в интерфейсе java.util.SequencedMap

sequencedEntrySet, sequencedKeySet, sequencedValues

Подробное описание конструкторов

TreeMap

public TreeMap()
Создаёт новый пустой объект TreeMap, использующий естественный порядок своих ключей. Все ключи, вставленные в карту, должны реализовывать интерфейс Comparable. Кроме того, все такие ключи должны быть взаимно сравнимы: k1.compareTo(k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Если пользователь пытается поместить ключ в карту, нарушающий это ограничение (например, пользователь пытается поместить строковый ключ в карту, ключи которой являются целыми числами), вызов put(Object key, Object value) выбросит ClassCastException.

TreeMap

public TreeMap(Comparator<? super K> comparator)
Создаёт новый пустой объект TreeMap, отсортированный в соответствии с заданным компаратором. Все ключи, вставленные в карту, должны быть взаимно сравнимы с помощью заданного компаратора: comparator.compare(k1, k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Если пользователь пытается поместить ключ в карту, нарушающий это ограничение, вызов put(Object key, Object value) выбросит ClassCastException.
Параметры:
comparator - компаратор, который будет использоваться для упорядочивания этой карты. Если null, будет использован естественный порядок ключей.

TreeMap

public TreeMap(Map<? extends K, ? extends V> m)
Создаёт новый объект TreeMap, содержащий те же сопоставления, что и заданная карта, отсортированный в соответствии с естественным порядком своих ключей. Все ключи, вставленные в новую карту, должны реализовывать интерфейс Comparable. Кроме того, все такие ключи должны быть взаимно сравнимы: k1.compareTo(k2) не должен выбрасывать ClassCastException для любых ключей k1 и k2 в карте. Этот метод выполняется за время n*log(n).
Параметры:
m - карта, чьи сопоставления должны быть помещены в эту карту
Исключения:
ClassCastException - если ключи в m не являются Comparable, или не являются взаимно сравнимыми
NullPointerException - если заданная карта равна null

TreeMap

public TreeMap(SortedMap<K, ? extends V> m)
Создаёт новый объект TreeMap, содержащий те же сопоставления и использующий тот же порядок, что и указанная отсортированная карта. Этот метод выполняется за линейное время.
Параметры:
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 или указанная карта содержит нулевой ключ, а эта карта не допускает нулевых ключей

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 и эта карта использует естественный порядок, или её компаратор не допускает нулевых ключей

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:
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 сообщения к отображаемому значению:
 
 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.

Определено в:
keySet в интерфейсе Map<K,V>
Определено в:
keySet в интерфейсе SortedMap<K,V>
Переопределяет:
keySet в классе AbstractMap<K,V>
Возвращает:
представление набора ключей, содержащихся в этой карте

navigableKeySet

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

descendingKeySet

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

Определено в:
values в интерфейсе Map<K,V>
Определено в:
values в интерфейсе SortedMap<K,V>
Переопределяет:
values в классе AbstractMap<K,V>
Возвращает:
представление коллекции значений, содержащихся в этой карте

entrySet

public Set<Map.Entry<K,V>> entrySet()
Возвращает Set представление отображений, содержащихся в этой карте.

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

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

Spec-Zone.ru

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