Spec-Zone.ru › OpenJDK 17

Класс 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>, SortedMap<K,V>
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
Реализация NavigableMap на основе красно-черного дерева. Карта отсортирована в соответствии с естественным порядком своих ключей или по Comparator, заданному во время создания карты, в зависимости от используемого конструктора.

Эта реализация гарантирует затраты времени log(n) для операций containsKey, get, put и remove. Алгоритмы являются адаптациями алгоритмов из книги Кормена, Лейзерсона и Ривеста «Введение в алгоритмы».

Обратите внимание, что порядок, поддерживаемый картой дерева, как и любой отсортированной картой, и независимо от того, задан ли явный компаратор, должен быть совместим с equals, если эта отсортированная карта должна правильно реализовать интерфейс Map. (См. Comparable или Comparator для точного определения совместимости с equals.) Это связано с тем, что интерфейс Map определен с использованием операции equals, но отсортированная карта выполняет все сравнения ключей с помощью своего метода compareTo (или compare), поэтому два ключа, считающиеся равными этим методом, с точки зрения отсортированной карты, равны. Поведение отсортированной карты определено даже если ее порядок несовместим с equals; это просто не соответствует общему контракту интерфейса Map.

Обратите внимание, что эта реализация не синхронизирована. Если несколько потоков обращаются к карте одновременно, и хотя бы один из потоков структурно изменяет карту, она должна быть синхронизирована внешне. (Структурное изменение — это любая операция, добавляющая или удаляющая одну или несколько сопоставлений; простое изменение значения, связанного с существующим ключом, не является структурным изменением.) Обычно это достигается синхронизацией на каком-либо объекте, естественным образом инкапсулирующем карту. Если такой объект не существует, карта должна быть «упакована» с помощью метода Collections.synchronizedSortedMap. Лучше всего это сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ к карте:

   SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));

Итераторы, возвращаемые методом iterator методов представления коллекций всех методов «представления коллекций» этого класса, являются быстродействующими: если карта структурно модифицируется в любое время после создания итератора, любым способом, кроме метода итератора remove, итератор выбросит исключение ConcurrentModificationException. Таким образом, при одновременном изменении итератор быстро и чисто завершает работу, а не рискует произвольным непредсказуемым поведением в неопределенное время в будущем.

Обратите внимание, что быстродействие итератора не гарантируется, так как, как правило, невозможно дать какие-либо твердые гарантии при наличии несинхронизированного одновременного изменения. Быстродействующие итераторы выбрасывают ConcurrentModificationException на основе наилучших усилий. Поэтому неверно создавать программу, которая полагалась бы на это исключение для правильности: быстрое действие итераторов должно использоваться только для обнаружения ошибок.

Все Map.Entry пары, возвращаемые методами в этом классе и его представлениях, представляют собой снимки сопоставлений на момент их создания. Они не поддерживают метод Entry.setValue. (Однако обратите внимание, что можно изменить сопоставления в связанной карте с помощью put.)

Этот класс является членом Java Collections Framework.

Since:
1.2
См. также:
  • 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 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

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

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 - если эта карта пуста

putAll

public void putAll(Map<? extends K,? extends V> map)
Копирует все сопоставления из указанной карты в эту карту. Эти сопоставления заменяют любые сопоставления, которые эта карта имела для любых ключей, присутствующих в указанной карте.
Унаследованно от:
putAll в интерфейсе Map<K,V>
Переопределяет:
putAll в классе AbstractMap<K,V>
Параметры:
map - сопоставления, которые нужно сохранить в этой карте
Исключения:
ClassCastException - если класс ключа или значения в указанной карте препятствует его сохранению в этой карте
NullPointerException - если указанная карта равна null или указанная карта содержит null-ключ, а эта карта не допускает null-ключей

put

public V put(K key, V value)
Ассоциирует указанное значение с указанным ключом в этой карте. Если карта ранее содержала сопоставление для ключа, старое значение заменяется.
Унаследованно от:
put в интерфейсе Map<K,V>
Переопределяет:
put в классе AbstractMap<K,V>
Параметры:
key - ключ, с которым должно быть ассоциировано указанное значение
value - значение, которое должно быть ассоциировано с указанным ключом
Возвращает:
предыдущее значение, ассоциированное с key, или null , если для key не было сопоставления. (Возвращаемое значение null также может указывать, что карта ранее ассоциировала null со значением key.)
Исключения:
ClassCastException - если указанный ключ нельзя сравнить с ключами, присутствующими в карте
NullPointerException - если указанный ключ равен null и эта карта использует естественный порядок, или её компаратор не допускает null-ключей

computeIfAbsent

public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
Если указанный ключ ещё не связан со значением (или сопоставлен с null), пытается вычислить его значение с помощью заданной функции отображения и помещает его в этот map, если null.

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

 
 map.computeIfAbsent(key, k -> new Value(f(k)));
 

Или для реализации карты с множественными значениями, Map<K,Collection<V>>, поддерживающей несколько значений на один ключ:

 
 map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
 

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

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

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

computeIfPresent

public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Если значение для указанного ключа присутствует и не равно null, пытается вычислить новое отображение, используя ключ и его текущее сопоставленное значение.

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

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

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

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

compute

public V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Пытается вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null если текущего отображения нет). Например, для создания или добавления String сообщения к сопоставленному значению:
 
 map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))
(Метод merge() часто проще использовать для таких целей.)

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

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

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

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

merge

public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
Если указанный ключ ещё не связан со значением или связан с null, связывает его с заданным ненулевым значением. В противном случае заменяет связанное значение результатом заданной функции переопределения или удаляет его, если результат равен null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для одного ключа. Например, для создания или добавления String msg к сопоставленному значению:
 
 map.merge(key, msg, String::concat)
 

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

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

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

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

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 также может указывать, что map ранее сопоставил null с key.)
Throws:
ClassCastException - если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в map
NullPointerException - если указанный ключ равен null, и этот map использует естественный порядок сортировки, или его компаратор не допускает null-ключей

clear

public void clear()
Удаляет все отображения из этого map. Map будет пустым после возврата этого вызова.
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:
неглубокую копию этого map
See Also:
  • Cloneable

firstEntry

public Map.Entry<K,V> firstEntry()
Описание скопировано из интерфейса: NavigableMap
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом map, или null если map пустой.
Specified by:
firstEntry in interface NavigableMap<K,V>
Returns:
запись с наименьшим ключом, или null если этот map пустой
Since:
1.6

lastEntry

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

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()
Описание скопировано из интерфейса: NavigableMap
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом map, или null если map пустой.
Specified by:
pollFirstEntry in interface NavigableMap<K,V>
Returns:
удаленная первая запись этого map, или null если этот map пустой
Since:
1.6

pollLastEntry

public Map.Entry<K,V> pollLastEntry()
Описание скопировано из интерфейса: NavigableMap
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом map, или null если map пустой.
Specified by:
pollLastEntry in interface NavigableMap<K,V>
Returns:
удаленная последняя запись этого map, или null если этот map пустой
Since:
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
Возвращает представление набора ключей из этого отображения в обратном порядке. Итератор набора возвращает ключи в порядке убывания. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операций самого итератора remove), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Он не поддерживает операции add или addAll.
Указано в:
descendingKeySet в интерфейсе NavigableMap<K,V>
Возвращает:
представление набора ключей в обратном порядке в этом отображении
С:
1.6

values

public Collection<V> values()
Возвращает представление коллекции значений, содержащихся в этом отображении.

Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Разделитель коллекции является позднесвязываемым, немедленно прерывается и дополнительно сообщает Spliterator.ORDERED с порядком встречи, который является порядком возрастания соответствующих ключей.

Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции, и наоборот. Если отображение изменяется во время итерации по коллекции (кроме операций самого итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.

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

entrySet

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

Итератор набора возвращает записи в порядке возрастания ключей. Разделитель набора является позднесвязываемым, немедленно прерывается и дополнительно сообщает Spliterator.SORTED и Spliterator.ORDERED с порядком встречи, который является порядком возрастания ключей.

Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе, и наоборот. Если отображение изменяется во время итерации по набору (кроме операций самого итератора remove, или операции setValue для записи отображения, возвращённой итератором), результаты итерации не определены. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.

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

descendingMap

public NavigableMap<K,V> descendingMap()
Описание скопировано из интерфейса: 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 равно 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, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/TreeMap.html

Spec-Zone.ru

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