Spec-Zone.ru › OpenJDK 24

Класс ConcurrentSkipListMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.concurrent.ConcurrentSkipListMap<K,V>
Type Parameters:
K - тип ключей, поддерживаемых этой картой
V - тип сопоставленных значений
Все реализуемые интерфейсы:
Serializable, Cloneable, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, Map<K,V>, NavigableMap<K,V>, SequencedMap<K,V>, SortedMap<K,V>
public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable
Масштабируемая конкуретная реализация ConcurrentNavigableMap. Карта сортируется в соответствии с естественным порядком своих ключей или с помощью Comparator, предоставленного при создании карты, в зависимости от используемого конструктора.

Этот класс реализует конкуретную вариацию SkipLists, обеспечивая ожидаемую среднюю стоимость log(n) для containsKey, get, put и remove операций и их вариантов. Вставки, удаления, обновления и операции доступа безопасно выполняются несколькими потоками одновременно.

Итераторы и разделители слабо согласованы.

Просматривающие ключи по возрастанию и их итераторы быстрее, чем убывающие.

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

Обратите внимание, что операции с большими объемами данных putAll, equals, toArray, containsValue и clear не гарантируются для выполнения атомарно. Например, итератор, работающий одновременно с операцией putAll, может увидеть только некоторые добавленные элементы.

Этот класс и его представления и итераторы реализуют все необязательные методы интерфейсов Map и Iterator. Как и большинство других конкурирующих коллекций, этот класс не допускает использование null ключей или значений, поскольку некоторые возвращаемые значения null нельзя надёжно отличить от отсутствия элементов.

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

Since:
1.6
См. также:
  • Сериализованная форма

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

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

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

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

Map.Entry<K,V>

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

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

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

Модификатор и тип Метод Описание
Map.Entry<K,V> ceilingEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или null, если такой записи нет.
K ceilingKey(K key)
Возвращает наименьший ключ, больший или равный заданному ключу, или null, если такого ключа нет.
void clear()
Удаляет все сопоставления из этой карты.
ConcurrentSkipListMap<K,V> clone()
Возвращает неглубокую копию этого ConcurrentSkipListMap экземпляра.
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.
V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
Если значение для указанного ключа присутствует, пытается вычислить новое сопоставление, используя ключ и его текущее сопоставленное значение.
boolean containsKey(Object key)
Возвращает true, если эта карта содержит сопоставление для указанного ключа.
boolean containsValue(Object value)
Возвращает true, если эта карта сопоставляет один или несколько ключей со значением.
NavigableSet<K> descendingKeySet()
Возвращает вид NavigableSet в обратном порядке ключей, содержащихся в этой карте.
ConcurrentNavigableMap<K,V> descendingMap()
Возвращает вид сопоставлений, содержащихся в этой карте, в обратном порядке.
Set<Map.Entry<K,V>> entrySet()
Возвращает Set представление сопоставлений, содержащихся в этой карте.
boolean equals(Object o)
Сравнивает указанный объект с этой картой для равенства.
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, если в этой карте нет сопоставления для ключа.
V getOrDefault(Object key, V defaultValue)
Возвращает значение, которому сопоставлен указанный ключ, или заданное значение по умолчанию, если в этой карте нет сопоставления для ключа.
ConcurrentNavigableMap<K,V> headMap(K toKey)
Возвращает представление части этой карты, ключи которой строго меньше toKey.
ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey.
Map.Entry<K,V> higherEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null, если такого ключа нет.
K higherKey(K key)
Возвращает наименьший ключ, строго больший, чем заданный ключ, или null, если такого ключа нет.
boolean isEmpty()
Возвращает true, если эта карта не содержит сопоставлений ключ-значение.
NavigableSet<K> keySet()
Возвращает NavigableSet представление ключей, содержащихся в этой карте.
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)
Если указанный ключ не связан со значением, связывает его со значением.
NavigableSet<K> navigableKeySet()
Возвращает NavigableSet представление ключей, содержащихся в этой карте.
Map.Entry<K,V> pollFirstEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null, если карта пуста.
Map.Entry<K,V> pollLastEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null, если карта пуста.
V put(K key, V value)
Связывает указанное значение с указанным ключом в этой карте.
V putFirst(K k, V v)
Выбрасывает UnsupportedOperationException.
V putIfAbsent(K key, V value)
Если указанный ключ не связан со значением, связывает его со значением.
V putLast(K k, V v)
Выбрасывает UnsupportedOperationException.
V remove(Object key)
Удаляет сопоставление для указанного ключа из этой карты, если оно присутствует.
boolean remove(Object key, Object value)
Удаляет запись для ключа только в том случае, если она в данный момент сопоставлена с заданным значением.
V replace(K key, V value)
Заменяет запись для ключа только в том случае, если она в данный момент сопоставлена с каким-либо значением.
boolean replace(K key, V oldValue, V newValue)
Заменяет запись для ключа только в том случае, если она в данный момент сопоставлена с заданным значением.
int size()
Возвращает количество сопоставлений ключ-значение в этой карте.
ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey.
ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey)
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey (включительно) до toKey (исключительно).
ConcurrentNavigableMap<K,V> tailMap(K fromKey)
Возвращает представление части этой карты, ключи которой больше или равны fromKey.
ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey.
Collection<V> values()
Возвращает Collection представление значений, содержащихся в этой карте.

Методы, объявленные в классе java.util.AbstractMap

hashCode, isEmpty, putAll, size, toString

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

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

forEach, replaceAll

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

hashCode, putAll

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

reversed

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

sequencedEntrySet, sequencedKeySet, sequencedValues

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

ConcurrentSkipListMap

public ConcurrentSkipListMap()
Создаёт новую пустую карту, отсортированную в соответствии с естественным порядком ключей.

ConcurrentSkipListMap

public ConcurrentSkipListMap(Comparator<? super K> comparator)
Создаёт новую пустую карту, отсортированную в соответствии с заданным компаратором.
Параметры:
comparator - компаратор, который будет использоваться для упорядочивания этой карты. Если null, будет использован естественный порядок ключей.

ConcurrentSkipListMap

public ConcurrentSkipListMap(Map<? extends K, ? extends V> m)
Создаёт новую карту, содержащую те же сопоставления, что и заданная карта, отсортированную в соответствии с естественным порядком ключей.
Параметры:
m - карта, сопоставления которой должны быть помещены в эту карту
Исключения:
ClassCastException - если ключи в m не являются Comparable или не взаимно сравнимы
NullPointerException - если заданная карта или любой из её ключей или значений равны null

ConcurrentSkipListMap

public ConcurrentSkipListMap(SortedMap<K, ? extends V> m)
Создаёт новую карту, содержащую те же сопоставления и использующую тот же порядок, что и заданная сортированная карта.
Параметры:
m - сортированная карта, сопоставления которой должны быть помещены в эту карту, и компаратор, который будет использоваться для сортировки этой карты
Исключения:
NullPointerException - если указанная сортированная карта или любые её ключи или значения равны null

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

clone

public ConcurrentSkipListMap<K,V> clone()
Возвращает поверхностную копию этого экземпляра ConcurrentSkipListMap. (Ключи и значения сами не клонируются.)
Переопределяет:
clone в классе AbstractMap<K,V>
Возвращает:
поверхностную копию этой карты
См. также:
  • Cloneable

containsKey

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

get

public V get(Object key)
Возвращает значение, которому соответствует указанный ключ, или null, если эта карта не содержит сопоставления для ключа.

Более формально, если эта карта содержит сопоставление от ключа k до значения v, такое, что key сравнивается с k в соответствии с порядком карты, то этот метод возвращает v; в противном случае он возвращает null. (Может быть не более одного такого сопоставления.)

Определено в:
get в интерфейсе Map<K,V>
Переопределяет:
get в классе AbstractMap<K,V>
Параметры:
key - ключ, связанное значение которого нужно вернуть
Возвращает:
значение, которому соответствует указанный ключ, или null, если эта карта не содержит сопоставления для ключа
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, которые есть в карте
NullPointerException - если указанный ключ равен null

getOrDefault

public V getOrDefault(Object key, V defaultValue)
Возвращает значение, которому соответствует указанный ключ, или заданное значение по умолчанию, если эта карта не содержит сопоставления для ключа.
Определено в:
getOrDefault в интерфейсе ConcurrentMap<K,V>
Определено в:
getOrDefault в интерфейсе Map<K,V>
Параметры:
key - ключ
defaultValue - значение по умолчанию, которое нужно вернуть, если эта карта не содержит сопоставления для данного ключа
Возвращает:
сопоставление для ключа, если оно присутствует; иначе значение по умолчанию
Исключения:
NullPointerException - если указанный ключ равен null
С момента:
1.8

put

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

remove

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

containsValue

public boolean containsValue(Object value)
Возвращает true, если эта карта сопоставляет один или несколько ключей с указанным значением. Эта операция требует времени, линейного по размеру карты. Кроме того, возможно, что карта изменится во время выполнения этого метода, в этом случае возвращённый результат может быть неточным.
Определено в:
containsValue в интерфейсе Map<K,V>
Переопределяет:
containsValue в классе AbstractMap<K,V>
Параметры:
value - значение, чьё присутствие в этой карте нужно проверить
Возвращает:
true, если существует сопоставление со значением value; false в противном случае
Исключения:
NullPointerException - если указанное значение равно null

size

public int size()
Возвращает количество пар ключ-значение в этой карте. Если карта содержит более Integer.MAX_VALUE элементов, возвращает Integer.MAX_VALUE.
Определено в:
size в интерфейсе Map<K,V>
Переопределяет:
size в классе AbstractMap<K,V>
Возвращает:
количество пар ключ-значение в этой карте

isEmpty

public boolean isEmpty()
Возвращает true, если эта карта не содержит пар ключ-значение.
Определено в:
isEmpty в интерфейсе Map<K,V>
Переопределяет:
isEmpty в классе AbstractMap<K,V>
Возвращает:
true, если эта карта не содержит пар ключ-значение

clear

public void clear()
Удаляет все сопоставления из этой карты.
Определено в:
clear в интерфейсе Map<K,V>
Переопределяет:
clear в классе AbstractMap<K,V>

computeIfAbsent

public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
Если указанный ключ ещё не связан со значением, пытается вычислить его значение с помощью заданной функции отображения и ввести его в этот словарь, если null. Функция НЕ гарантируется, что будет применена один раз атомарно только если значение отсутствует.
Specified by:
computeIfAbsent in interface ConcurrentMap<K,V>
Specified by:
computeIfAbsent in interface Map<K,V>
Parameters:
key - ключ, с которым должно быть связано указанное значение
mappingFunction - функция для вычисления значения
Returns:
текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
Throws:
NullPointerException - если указанный ключ или функция отображения равны null
Since:
1.8

computeIfPresent

public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
Если значение для указанного ключа присутствует, пытается вычислить новое отображение, заданное ключом и его текущим сопоставленным значением. Функция НЕ гарантируется, что будет применена один раз атомарно.
Specified by:
computeIfPresent in interface ConcurrentMap<K,V>
Specified by:
computeIfPresent in interface Map<K,V>
Parameters:
key - ключ, с которым может быть связано значение
remappingFunction - функция для вычисления значения
Returns:
новое значение, связанное с указанным ключом, или null, если нет
Throws:
NullPointerException - если указанный ключ или функция переназначения равны null
Since:
1.8

compute

public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
Пытается вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null, если текущего отображения нет). Функция НЕ гарантируется, что будет применена один раз атомарно.
Specified by:
compute in interface ConcurrentMap<K,V>
Specified by:
compute in interface Map<K,V>
Parameters:
key - ключ, с которым должно быть связано указанное значение
remappingFunction - функция для вычисления значения
Returns:
новое значение, связанное с указанным ключом, или null, если нет
Throws:
NullPointerException - если указанный ключ или функция переназначения равны null
Since:
1.8

merge

public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
Если указанный ключ ещё не связан со значением, связывает его с заданным значением. В противном случае, заменяет значение результатом заданной функции переназначения или удаляет, если null. Функция НЕ гарантируется, что будет применена один раз атомарно.
Specified by:
merge in interface ConcurrentMap<K,V>
Specified by:
merge in interface Map<K,V>
Parameters:
key - ключ, с которым должно быть связано указанное значение
value - значение для использования при отсутствии
remappingFunction - функция для повторного вычисления значения, если оно присутствует
Returns:
новое значение, связанное с указанным ключом, или null, если нет
Throws:
NullPointerException - если указанный ключ, значение или функция переназначения равны null
Since:
1.8

keySet

public NavigableSet<K> keySet()
Возвращает представление NavigableSet ключей, содержащихся в этом словаре.

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

Компаратор расщепителя является null, если компаратор словаря является null. В противном случае, компаратор расщепителя такой же, как или накладывает такое же полное упорядочение, как и компаратор словаря.

Набор поддерживается словарем, поэтому изменения в словаре отражаются в наборе, и наоборот. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из словаря, через операции Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.

Итераторы и расщепители представления являются слабо согласованными.

Этот метод эквивалентен методу navigableKeySet.

Specified by:
keySet in interface ConcurrentNavigableMap<K,V>
Specified by:
keySet in interface Map<K,V>
Specified by:
keySet in interface SortedMap<K,V>
Overrides:
keySet in class AbstractMap<K,V>
Returns:
представление навигационного набора ключей в этом словаре

navigableKeySet

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

Итераторы и расщепители представления являются слабо согласованными.

Specified by:
navigableKeySet in interface ConcurrentNavigableMap<K,V>
Specified by:
navigableKeySet in interface NavigableMap<K,V>
Returns:
представление навигационного набора ключей в этом словаре

values

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

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

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

Итераторы и расщепители представления являются слабо согласованными.

Specified by:
values in interface Map<K,V>
Specified by:
values in interface SortedMap<K,V>
Overrides:
values in class AbstractMap<K,V>
Returns:
представление коллекции значений, содержащихся в этом словаре

entrySet

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

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

Набор поддерживается словарем, поэтому изменения в словаре отражаются в наборе, и наоборот. Набор поддерживает удаление элементов, которое удаляет соответствующее отображение из словаря, через операции Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.

Итераторы и расщепители представления являются слабо согласованными.

Элементы Map.Entry, проходящие по iterator или spliterator, не поддерживают операцию setValue.

Specified by:
entrySet in interface Map<K,V>
Specified by:
entrySet in interface SortedMap<K,V>
Returns:
представление набора отображений, содержащихся в этом словаре, отсортированное по возрастанию ключей

descendingMap

public ConcurrentNavigableMap<K,V> descendingMap()
Описание скопировано из интерфейса: ConcurrentNavigableMap
Возвращает представление отображений, содержащихся в этом отображении, в обратном порядке. Отображение в обратном порядке основано на этом отображении, поэтому изменения в отображении отражаются в отображении в обратном порядке, и наоборот.

Возвращаемое отображение имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m, по сути, эквивалентное m.

Specified by:
descendingMap в интерфейсе ConcurrentNavigableMap<K,V>
Specified by:
descendingMap в интерфейсе NavigableMap<K,V>
Returns:
представление этого отображения в обратном порядке

descendingKeySet

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

Итераторы и разделители представления являются слабо согласованными.

Specified by:
descendingKeySet в интерфейсе ConcurrentNavigableMap<K,V>
Specified by:
descendingKeySet в интерфейсе NavigableMap<K,V>
Returns:
представление навигационного набора в обратном порядке ключей в этом отображении

equals

public boolean equals(Object o)
Сравнивает указанный объект с этим отображением на равенство. Возвращает true, если данный объект также является отображением, и два отображения представляют одни и те же отображения. Более формально, два отображения m1 и m2 представляют одни и те же отображения, если m1.entrySet().equals(m2.entrySet()). Эта операция может возвращать вводящие в заблуждение результаты, если какое-либо из отображений одновременно изменяется во время выполнения этого метода.
Specified by:
equals в интерфейсе Map<K,V>
Overrides:
equals в классе AbstractMap<K,V>
Parameters:
o - объект для сравнения на равенство с этим отображением
Returns:
true, если указанный объект равен этому отображению
See Also:
  • Object.hashCode()
  • HashMap

putIfAbsent

public V putIfAbsent(K key, V value)
Если указанный ключ еще не связан со значением, связывает его с заданным значением. Это эквивалентно для этого map:
 
 if (!map.containsKey(key))
   return map.put(key, value);
 else
   return map.get(key);
, за исключением того, что действие выполняется атомарно.
Specified by:
putIfAbsent в интерфейсе ConcurrentMap<K,V>
Specified by:
putIfAbsent в интерфейсе Map<K,V>
Parameters:
key - ключ, с которым нужно связать заданное значение
value - значение, которое нужно связать с указанным ключом
Returns:
предыдущее значение, связанное с указанным ключом, или null, если для ключа не было отображения
Throws:
ClassCastException - если указанный ключ нельзя сравнить с ключами, которые есть в настоящее время в отображении
NullPointerException - если указанный ключ или значение равно null

remove

public boolean remove(Object key, Object value)
Удаляет запись для ключа только в том случае, если он в настоящее время сопоставлен с заданным значением. Это эквивалентно, для этого map:
 
 if (map.containsKey(key)
     && Objects.equals(map.get(key), value)) {
   map.remove(key);
   return true;
 } else {
   return false;
 }
, за исключением того, что действие выполняется атомарно.
Specified by:
remove в интерфейсе ConcurrentMap<K,V>
Specified by:
remove в интерфейсе Map<K,V>
Parameters:
key - ключ, с которым связано указанное значение
value - ожидаемое значение, связанное с указанным ключом
Returns:
true, если значение было удалено
Throws:
ClassCastException - если указанный ключ нельзя сравнить с ключами, которые есть в настоящее время в отображении
NullPointerException - если указанный ключ равен null

replace

public boolean replace(K key, V oldValue, V newValue)
Заменяет запись для ключа только в том случае, если он в настоящее время сопоставлен с заданным значением. Это эквивалентно, для этого map:
 
 if (map.containsKey(key)
     && Objects.equals(map.get(key), oldValue)) {
   map.put(key, newValue);
   return true;
 } else {
   return false;
 }
, за исключением того, что действие выполняется атомарно.
Specified by:
replace в интерфейсе ConcurrentMap<K,V>
Specified by:
replace в интерфейсе Map<K,V>
Parameters:
key - ключ, с которым связано указанное значение
oldValue - ожидаемое значение, связанное с указанным ключом
newValue - значение, которое нужно связать с указанным ключом
Returns:
true, если значение было заменено
Throws:
ClassCastException - если указанный ключ нельзя сравнить с ключами, которые есть в настоящее время в отображении
NullPointerException - если любой из аргументов равен null

replace

public V replace(K key, V value)
Заменяет запись для ключа только в том случае, если он в настоящее время сопоставлен с каким-либо значением. Это эквивалентно, для этого map:
 
 if (map.containsKey(key))
   return map.put(key, value);
 else
   return null;
, за исключением того, что действие выполняется атомарно.
Specified by:
replace в интерфейсе ConcurrentMap<K,V>
Specified by:
replace в интерфейсе Map<K,V>
Parameters:
key - ключ, с которым связано указанное значение
value - значение, которое нужно связать с указанным ключом
Returns:
предыдущее значение, связанное с указанным ключом, или null, если для ключа не было отображения
Throws:
ClassCastException - если указанный ключ нельзя сравнить с ключами, которые есть в настоящее время в отображении
NullPointerException - если указанный ключ или значение равно null

comparator

public Comparator<? super K> comparator()
Описание скопировано из интерфейса: SortedMap
Возвращает компаратор, используемый для упорядочивания ключей в этом отображении, или null, если это отображение использует естественный порядок своих ключей.
Specified by:
comparator в интерфейсе SortedMap<K,V>
Returns:
компаратор, используемый для упорядочивания ключей в этом отображении, или null, если это отображение использует естественный порядок своих ключей

firstKey

public K firstKey()
Описание скопировано из интерфейса: SortedMap
Возвращает первый (наименьший) ключ, в настоящее время находящийся в этом отображении.
Specified by:
firstKey в интерфейсе SortedMap<K,V>
Returns:
первый (наименьший) ключ, в настоящее время находящийся в этом отображении
Throws:
NoSuchElementException - если это отображение пустое

lastKey

public K lastKey()
Описание скопировано из интерфейса: SortedMap
Возвращает последний (наибольший) ключ, в настоящее время находящийся в этом отображении.
Specified by:
lastKey в интерфейсе SortedMap<K,V>
Returns:
последний (наибольший) ключ, в настоящее время находящийся в этом отображении
Throws:
NoSuchElementException - если это отображение пустое

putFirst

public V putFirst(K k, V v)
Бросает UnsupportedOperationException. Порядок встреч, задаваемый методом сравнения этого отображения, определяет положение отображений, поэтому явное позиционирование не поддерживается.
Specified by:
putFirst в интерфейсе SequencedMap<K,V>
Specified by:
putFirst в интерфейсе SortedMap<K,V>
Parameters:
k - ключ
v - значение
Returns:
значение, которое ранее было связано с k, или null, если нет
Throws:
UnsupportedOperationException - всегда
Since:
21

putLast

public V putLast(K k, V v)
Выбрасывает UnsupportedOperationException. Порядок встреч, задаваемый методом сравнения этой карты, определяет положение сопоставлений, поэтому явное позиционирование не поддерживается.
Specified by:
putLast in interface SequencedMap<K,V>
Specified by:
putLast in interface SortedMap<K,V>
Parameters:
k - ключ
v - значение
Returns:
значение, ранее связанное с k, или null, если такового нет
Throws:
UnsupportedOperationException - всегда
Since:
21

subMap

public ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey. Если fromKey и toKey равны, возвращаемая карта пуста, если только fromInclusive и toInclusive не оба истинны. Возвращаемая карта подкрепляется этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картой, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ вне своего диапазона или построить подкарту, любой из конечных точек которой лежит вне своего диапазона.

Specified by:
subMap in interface ConcurrentNavigableMap<K,V>
Specified by:
subMap in interface NavigableMap<K,V>
Parameters:
fromKey - нижняя граница ключей в возвращаемой карте
fromInclusive - true, если нижняя граница должна быть включена в возвращаемое представление
toKey - верхняя граница ключей в возвращаемой карте
toInclusive - true, если верхняя граница должна быть включена в возвращаемое представление
Returns:
представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey
Throws:
ClassCastException - если fromKey и toKey нельзя сравнить друг с другом с помощью компаратора этой карты (или, если у карты нет компаратора, с помощью естественного упорядочения). Реализации могут, но не обязаны, выбросить это исключение, если fromKey или toKey нельзя сравнить с ключами, которые в настоящее время находятся в карте.
NullPointerException - если fromKey или toKey равно null
IllegalArgumentException - если fromKey больше, чем toKey; или если у этой карты есть ограниченный диапазон, и fromKey или toKey выходят за пределы диапазона

headMap

public ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой меньше (или меньше или равны, если inclusive истинно) toKey. Возвращаемая карта подкрепляется этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картой, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ вне своего диапазона.

Specified by:
headMap in interface ConcurrentNavigableMap<K,V>
Specified by:
headMap in interface NavigableMap<K,V>
Parameters:
toKey - верхняя граница ключей в возвращаемой карте
inclusive - true, если верхняя граница должна быть включена в возвращаемое представление
Returns:
представление части этой карты, ключи которой меньше (или меньше или равны, если inclusive истинно) toKey
Throws:
ClassCastException - если toKey несовместим с компаратором этой карты (или, если у карты нет компаратора, если toKey не реализует Comparable). Реализации могут, но не обязаны, выбросить это исключение, если toKey нельзя сравнить с ключами, которые в настоящее время находятся в карте.
NullPointerException - если toKey равно null
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и toKey выходит за пределы диапазона

tailMap

public ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой больше (или больше или равны, если inclusive истинно) fromKey. Возвращаемая карта подкрепляется этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картой, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ вне своего диапазона.

Specified by:
tailMap in interface ConcurrentNavigableMap<K,V>
Specified by:
tailMap in interface NavigableMap<K,V>
Parameters:
fromKey - нижняя граница ключей в возвращаемой карте
inclusive - true, если нижняя граница должна быть включена в возвращаемое представление
Returns:
представление части этой карты, ключи которой больше (или больше или равны, если inclusive истинно) fromKey
Throws:
ClassCastException - если fromKey несовместим с компаратором этой карты (или, если у карты нет компаратора, если fromKey не реализует Comparable). Реализации могут, но не обязаны, выбросить это исключение, если fromKey нельзя сравнить с ключами, которые в настоящее время находятся в карте.
NullPointerException - если fromKey равно null
IllegalArgumentException - если у этой карты есть ограниченный диапазон, и fromKey выходит за пределы диапазона

subMap

public ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включительно. (Если fromKey и toKey равны, возвращаемая карта пуста.) Возвращаемая карта подкрепляется этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картой, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ вне своего диапазона.

Эквивалентно subMap(fromKey, true, toKey, false).

Specified by:
subMap in interface ConcurrentNavigableMap<K,V>
Specified by:
subMap in interface NavigableMap<K,V>
Specified by:
subMap in interface SortedMap<K,V>
Parameters:
fromKey - нижняя граница (включительно) ключей в возвращаемой карте
toKey - верхняя граница (исключительно) ключей в возвращаемой карте
Returns:
представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, исключая
Throws:
ClassCastException - если fromKey и toKey нельзя сравнить друг с другом с помощью компаратора этой карты (или, если у карты нет компаратора, с помощью естественного упорядочения). Реализации могут, но не обязаны, выбросить это исключение, если fromKey или toKey нельзя сравнить с ключами, которые в настоящее время находятся в карте.
NullPointerException - если fromKey или toKey равно null
IllegalArgumentException - если fromKey больше, чем toKey; или если у этой карты есть ограниченный диапазон, и fromKey или toKey выходит за пределы диапазона

headMap

public ConcurrentNavigableMap<K,V> headMap(K toKey)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой строго меньше, чем toKey. Возвращаемая карта поддерживается этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.

Эквивалентно headMap(toKey, false).

Указано в:
headMap в интерфейсе ConcurrentNavigableMap<K,V>
Указано в:
headMap в интерфейсе NavigableMap<K,V>
Указано в:
headMap в интерфейсе SortedMap<K,V>
Параметры:
toKey - верхняя граница (исключая) ключей в возвращаемой карте
Возвращает:
представление части этой карты, ключи которой строго меньше, чем toKey
Исключения:
ClassCastException - если toKey не совместим с компаратором этой карты (или, если карта не имеет компаратора, если toKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если toKey не может быть сравнен с ключами, которые в настоящее время находятся в карте.
NullPointerException - если toKey равно null
IllegalArgumentException - если эта карта сама имеет ограниченный диапазон, и toKey находится за пределами границ диапазона

tailMap

public ConcurrentNavigableMap<K,V> tailMap(K fromKey)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой больше или равны fromKey. Возвращаемая карта поддерживается этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, которые поддерживает эта карта.

Возвращаемая карта выбросит IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.

Эквивалентно tailMap(fromKey, true).

Указано в:
tailMap в интерфейсе ConcurrentNavigableMap<K,V>
Указано в:
tailMap в интерфейсе NavigableMap<K,V>
Указано в:
tailMap в интерфейсе SortedMap<K,V>
Параметры:
fromKey - нижняя граница (включая) ключей в возвращаемой карте
Возвращает:
представление части этой карты, ключи которой больше или равны fromKey
Исключения:
ClassCastException - если fromKey не совместим с компаратором этой карты (или, если карта не имеет компаратора, если fromKey не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если fromKey не может быть сравнен с ключами, которые в настоящее время находятся в карте.
NullPointerException - если fromKey равно null
IllegalArgumentException - если эта карта сама имеет ограниченный диапазон, и fromKey находится за пределами границ диапазона

lowerEntry

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

lowerKey

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

floorEntry

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

floorKey

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

ceilingEntry

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

ceilingKey

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

higherEntry

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

higherKey

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

firstEntry

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

lastEntry

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

pollFirstEntry

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

pollLastEntry

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

© 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/concurrent/ConcurrentSkipListMap.html

Spec-Zone.ru

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