Spec-Zone.ru › OpenJDK 21

Класс 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, заданного при создании карты, в зависимости от используемого конструктора.

Этот класс реализует конкуретную разновидность SkipList, обеспечивая ожидаемую среднюю сложность 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 истинно) 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 истинно) 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 - значение по умолчанию, которое нужно вернуть, если в этом списке нет отображения для данного ключа
Возвращает:
отображение для ключа, если оно есть; иначе 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. Функция НЕ гарантированно применяется один раз атомарно только если значение отсутствует.
Установлено в:
computeIfAbsent в интерфейсе ConcurrentMap<K,V>
Установлено в:
computeIfAbsent в интерфейсе Map<K,V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
mappingFunction - функция для вычисления значения
Возвращает:
текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
Исключения:
NullPointerException - если указанный ключ равен null или функция отображения равна null
С:
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:
представление набора navigable ключей в этом отображении

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:
представление набора navigable ключей в этом отображении

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, не поддерживают операцию 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 in interface ConcurrentNavigableMap<K,V>
Specified by:
descendingMap in interface NavigableMap<K,V>
Returns:
представление отображения в обратном порядке

descendingKeySet

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

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

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

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

headMap

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

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

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

tailMap

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

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

Указано в:
tailMap в интерфейсе ConcurrentNavigableMap<K,V>
Указано в:
tailMap в интерфейсе NavigableMap<K,V>
Параметры:
fromKey - нижняя конечная точка ключей в возвращаемом наборе
inclusive - true если нижняя конечная точка должна быть включена в возвращаемое представление
Возвращает:
представление части этого набора, ключи которой больше (или равны, если inclusive равно true) fromKey
Исключения:
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).

Указано в:
subMap в интерфейсе ConcurrentNavigableMap<K,V>
Указано в:
subMap в интерфейсе NavigableMap<K,V>
Указано в:
subMap в интерфейсе SortedMap<K,V>
Параметры:
fromKey - нижняя конечная точка (включительно) ключей в возвращаемом наборе
toKey - верхняя конечная точка (не включительно) ключей в возвращаемом наборе
Возвращает:
представление части этого набора, ключи которого находятся в диапазоне от fromKey, включительно, до toKey, не включительно
Исключения:
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, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/concurrent/ConcurrentSkipListMap.html

Spec-Zone.ru

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