Класс ConcurrentSkipListMap<K,​V>

Type Parameters:
K - тип ключей, хранимых в этой карте
V - тип сопоставленных значений
All Implemented Interfaces:
Serializable, Cloneable, ConcurrentMap<K,​V>, ConcurrentNavigableMap<K,​V>, Map<K,​V>, NavigableMap<K,​V>, SortedMap<K,​V>
public class ConcurrentSkipListMap<K,V>
extends AbstractMap<K,​V>
implements ConcurrentNavigableMap<K,​V>, Cloneable, Serializable

Масштабируемая конкурентная реализация ConcurrentNavigableMap. Карта сортируется в соответствии с естественным порядком своих ключей или с помощью Comparator, предоставленного во время создания карты, в зависимости от используемого конструктора.

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

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

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

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

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

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

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

Since:
1.6
See Also:
Serialized Form

Вложенные классы

Вложенные классы/интерфейсы, объявленные в классе 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 экземпляра.

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

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 если такого ключа нет.

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)

Если указанный ключ еще не связан со значением, связывает его с указанным значением.

Map.Entry<K,​V> pollFirstEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или null если отображение пустое.

Map.Entry<K,​V> pollLastEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или null если отображение пустое.

V put​(K key, V value)

Связывает указанное значение с указанным ключом в этом отображении.

V putIfAbsent​(K key, V value)

Если указанный ключ еще не связан со значением, связывает его с указанным значением.

V remove​(Object key)

Удаляет сопоставление для указанного ключа из этого отображения, если оно присутствует.

boolean remove​(Object key, Object value)

Удаляет запись для ключа только в том случае, если она в настоящее время сопоставлена с заданным значением.

V replace​(K key, V value)

Заменяет запись для ключа только в том случае, если она в настоящее время сопоставлена с каким-либо значением.

boolean replace​(K key, V oldValue, V newValue)

Заменяет запись для ключа только в том случае, если она в настоящее время сопоставлена с заданным значением.

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.concurrent.ConcurrentNavigableMap

descendingKeySet, descendingMap, navigableKeySet

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

hashCode, isEmpty, putAll, size

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

comparator

Конструкторы

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 экземпляра. (Ключи и значения сами не клонируются.)

Overrides:
clone в классе AbstractMap<K,​V>
Возвращает:
неглубокую копию этого отображения
См. также:
Cloneable

containsKey

public boolean containsKey(Object key)

Возвращает true , если в этом отображении есть отображение для указанного ключа.

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

get

public V get(Object key)

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

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

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

getOrDefault

public V getOrDefault(Object key,
                      V defaultValue)

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

Specified by:
getOrDefault в интерфейсе ConcurrentMap<K,​V>
Specified by:
getOrDefault в интерфейсе Map<K,​V>
Параметры:
key - ключ
defaultValue - значение, которое нужно вернуть, если в этом отображении нет отображения для данного ключа
Возвращает:
отображение для ключа, если оно есть; в противном случае defaultValue
Изначает:
NullPointerException - если указанный ключ равен null
Since:
1.8

put

public V put(K key,
             V value)

Связывает указанное значение с указанным ключом в этом отображении. Если отображение ранее содержало отображение для ключа, старое значение заменяется.

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

remove

public V remove(Object key)

Удаляет отображение для указанного ключа из этого отображения, если оно есть.

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

containsValue

public boolean containsValue(Object value)

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

Specified by:
containsValue в интерфейсе Map<K,​V>
Overrides:
containsValue в классе AbstractMap<K,​V>
Параметры:
value - значение, чьё присутствие в этом отображении нужно проверить
Возвращает:
true , если отображение на value существует; false в противном случае
Изначает:
NullPointerException - если указанное значение равно null

clear

public void clear()

Удаляет все отображения из этого отображения.

Specified by:
clear в интерфейсе Map<K,​V>
Overrides:
clear в классе AbstractMap<K,​V>

computeIfAbsent

public V computeIfAbsent(K key,
                         Function<? super K,​? extends V> mappingFunction)

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

Specified by:
computeIfAbsent в интерфейсе ConcurrentMap<K,​V>
Specified by:
computeIfAbsent в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
mappingFunction - функция вычисления значения
Возвращает:
текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
Изначает:
NullPointerException - если указанный ключ равен null или mappingFunction равен null
Since:
1.8

computeIfPresent

public V computeIfPresent(K key,
                          BiFunction<? super K,​? super V,​? extends V> remappingFunction)

Если значение для указанного ключа присутствует, пытается вычислить новое отображение, используя ключ и его текущее сопоставленное значение. Функция НЕ гарантированно применяется один раз атомарно.

Specified by:
computeIfPresent в интерфейсе ConcurrentMap<K,​V>
Specified by:
computeIfPresent в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым может быть связано значение
remappingFunction - функция вычисления значения
Возвращает:
новое значение, связанное с указанным ключом, или null, если нет
Изначает:
NullPointerException - если указанный ключ равен null или функция переназначения равна null
Since:
1.8

compute

public V compute(K key,
                 BiFunction<? super K,​? super V,​? extends V> remappingFunction)

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

Specified by:
compute в интерфейсе ConcurrentMap<K,​V>
Specified by:
compute в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
remappingFunction - функция вычисления значения
Возвращает:
новое значение, связанное с указанным ключом, или null, если нет
Изначает:
NullPointerException - если указанный ключ равен null или функция переназначения равна null
Since:
1.8

merge

public V merge(K key,
               V value,
               BiFunction<? super V,​? super V,​? extends V> remappingFunction)

Если указанный ключ ещё не связан со значением, связывает его с заданным значением. В противном случае заменяет значение результатами заданной функции переназначения или удаляет, если null. Функция НЕ гарантированно применяется один раз атомарно.

Specified by:
merge в интерфейсе ConcurrentMap<K,​V>
Specified by:
merge в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
value - значение для использования, если отсутствует
remappingFunction - функция для повторного вычисления значения, если оно присутствует
Возвращает:
новое значение, связанное с указанным ключом, или null, если нет
Изначает:
NullPointerException - если указанный ключ или значение равны null или функция переназначения равна 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 в интерфейсе ConcurrentNavigableMap<K,​V>
Specified by:
keySet в интерфейсе Map<K,​V>
Specified by:
keySet в интерфейсе SortedMap<K,​V>
Overrides:
keySet в классе AbstractMap<K,​V>
Возвращает:
представление навигационного набора ключей в этом отображении

values

public Collection<V> values()

Возвращает представление Collection значений, содержащихся в этом отображении.

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

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

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

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

entrySet

public Set<Map.Entry<K,V>> entrySet()

Возвращает представление Set отображений, содержащихся в этом отображении.

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

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

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

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

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

equals

public boolean equals(Object o)

Сравнивает указанный объект с этим отображением на предмет равенства. Возвращает true если заданный объект также является отображением и два отображения представляют одни и те же отображения. Более формально, два отображения m1 и m2 представляют одни и те же отображения, если m1.entrySet().equals(m2.entrySet()). Эта операция может возвращать вводящие в заблуждение результаты, если любое из отображений одновременно модифицируется во время выполнения этого метода.

Указано в:
equals в интерфейсе Map<K,​V>
Переопределяет:
equals в классе AbstractMap<K,​V>
Параметры:
o - объект, который должен быть сравнен на предмет равенства с этим отображением
Возвращает:
true если указанный объект равен этому отображению
См. также:
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);
за исключением того, что действие выполняется атомарно.

Указано в:
putIfAbsent в интерфейсе ConcurrentMap<K,​V>
Указано в:
putIfAbsent в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
value - значение, которое должно быть связано с указанным ключом
Возвращает:
предыдущее значение, связанное с указанным ключом, или null если для ключа не было отображения
Исключения:
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;
 }
за исключением того, что действие выполняется атомарно.

Указано в:
remove в интерфейсе ConcurrentMap<K,​V>
Указано в:
remove в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым связано указанное значение
value - ожидаемое значение, связанное с указанным ключом
Возвращает:
true если значение было удалено
Исключения:
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;
 }
за исключением того, что действие выполняется атомарно.

Указано в:
replace в интерфейсе ConcurrentMap<K,​V>
Указано в:
replace в интерфейсе Map<K,​V>
Параметры:
key - ключ, с которым связано указанное значение
oldValue - ожидаемое значение, связанное с указанным ключом
newValue - значение, которое должно быть связано с указанным ключом
Возвращает:
true если значение было заменено
Исключения:
ClassCastException - если указанный ключ не может быть сравнен с ключами, присутствующими в отображении в данный момент
NullPointerException - если любой из аргументов равен null

replace

public V replace(K key,
                 V value)

Заменяет запись для ключа только в том случае, если он в данный момент сопоставлен с каким-либо значением. Это эквивалентно, для этого map:

if (map.containsKey(key))
   return map.put(key, value);
 else
   return null;
за исключением того, что действие выполняется атомарно.

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

firstKey

public K firstKey()

Описание скопировано из интерфейса: SortedMap

Возвращает первый (наименьший) ключ, в данный момент присутствующий в этом отображении.

Указано в:
firstKey в интерфейсе SortedMap<K,​V>
Возвращает:
первый (наименьший) ключ, в данный момент присутствующий в этом отображении
Исключения:
NoSuchElementException - если это отображение пустое

lastKey

public K lastKey()

Описание скопировано из интерфейса: SortedMap

Возвращает последний (наибольший) ключ, в данный момент присутствующий в этом отображении.

Указано в:
lastKey в интерфейсе SortedMap<K,​V>
Возвращает:
последний (наибольший) ключ, в данный момент присутствующий в этом отображении
Исключения:
NoSuchElementException - если это отображение пустое

subMap

public ConcurrentNavigableMap<K,V> subMap​(K fromKey,
                                                boolean fromInclusive,
                                                K toKey,
                                                boolean toInclusive)

Описание скопировано из интерфейса: NavigableMap

Возвращает представление части этого отображения, ключи которой находятся в диапазоне от fromKey до toKey. Если fromKey и toKey равны, возвращаемое отображение пусто, за исключением случаев, когда fromInclusive и toInclusive оба истинны. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении, и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.

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

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

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

tailMap

public ConcurrentNavigableMap<K,V> tailMap​(K fromKey,
                                                 boolean inclusive)

Описание скопировано из интерфейса: NavigableMap

Возвращает вид части этой карты, ключи которой больше (или равны, если inclusive истинно) fromKey. Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции карты, которые поддерживает эта карта.

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

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

lastEntry

public Map.Entry<K,V> lastEntry()

Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста. Возвращаемый элемент не поддерживает метод Entry.setValue.

Указано в:
lastEntry в интерфейсе NavigableMap<K,​V>
Возвращает:
элемент с наибольшим ключом, или null если эта карта пуста

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этой карте, или null если карта пуста. Возвращаемый элемент не поддерживает метод Entry.setValue.

Указано в:
pollFirstEntry в интерфейсе NavigableMap<K,​V>
Возвращает:
удаленный первый элемент этой карты, или null если эта карта пуста

pollLastEntry

public Map.Entry<K,V> pollLastEntry()

Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этой карте, или null если карта пуста. Возвращаемый элемент не поддерживает метод Entry.setValue.

Указано в:
pollLastEntry в интерфейсе NavigableMap<K,​V>
Возвращает:
удаленный последний элемент этой карты, или null если эта карта пуста

© 1993, 2020, 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/11/docs/api/java.base/java/util/concurrent/ConcurrentSkipListMap.html

Spec-Zone .ru
спецификации, руководства, описания, API