Класс ConcurrentSkipListMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.concurrent.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) | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным заданному ключу, или |
K | ceilingKey(K key) | Возвращает наименьший ключ, больший или равный заданному ключу, или |
void | clear() | Удаляет все сопоставления из этого отображения. |
ConcurrentSkipListMap<K,V> | clone() | Возвращает поверхностную копию этого |
V | compute(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) | Попытка вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или |
V | computeIfAbsent(K key,
Function<? super K,? extends V> mappingFunction) | Если указанный ключ еще не связан со значением, пытается вычислить его значение с помощью заданной функции сопоставления и добавляет его в это отображение, если |
V | computeIfPresent(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) | Если значение для указанного ключа присутствует, пытается вычислить новое сопоставление, используя ключ и его текущее сопоставленное значение. |
boolean | containsKey(Object key) | Возвращает |
boolean | containsValue(Object value) | Возвращает |
Set<Map.Entry<K,V>> | entrySet() | Возвращает |
boolean | equals(Object o) | Сравнивает указанный объект с этим отображением на равенство. |
Map.Entry<K,V> | firstEntry() | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или |
K | firstKey() | Возвращает первый (наименьший) ключ, который есть в этом отображении в данный момент. |
Map.Entry<K,V> | floorEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или |
K | floorKey(K key) | Возвращает наибольший ключ, меньший или равный заданному ключу, или |
V | get(Object key) | Возвращает значение, которому сопоставлен указанный ключ, или |
V | getOrDefault(Object key,
V defaultValue) | Возвращает значение, которому сопоставлен указанный ключ, или заданное значение по умолчанию, если это отображение не содержит сопоставления для ключа. |
ConcurrentNavigableMap<K,V> | headMap(K toKey) | Возвращает представление части этого отображения, ключи которого строго меньше |
ConcurrentNavigableMap<K,V> | headMap(K toKey,
boolean inclusive) | Возвращает представление части этого отображения, ключи которого меньше (или равны, если |
Map.Entry<K,V> | higherEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или |
K | higherKey(K key) | Возвращает наименьший ключ, строго больший, чем заданный ключ, или |
NavigableSet<K> | keySet() | Возвращает |
Map.Entry<K,V> | lastEntry() | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или |
K | lastKey() | Возвращает последний (наибольший) ключ, который есть в этом отображении в данный момент. |
Map.Entry<K,V> | lowerEntry(K key) | Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или |
K | lowerKey(K key) | Возвращает наибольший ключ, строго меньший, чем заданный ключ, или |
V | merge(K key,
V value,
BiFunction<? super V,? super V,? extends V> remappingFunction) | Если указанный ключ еще не связан со значением, связывает его с указанным значением. |
Map.Entry<K,V> | pollFirstEntry() | Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или |
Map.Entry<K,V> | pollLastEntry() | Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или |
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) | Возвращает представление части этого отображения, ключи которого находятся в диапазоне от |
ConcurrentNavigableMap<K,V> | subMap(K fromKey,
K toKey) | Возвращает представление части этого отображения, ключи которого находятся в диапазоне от |
ConcurrentNavigableMap<K,V> | tailMap(K fromKey) | Возвращает представление части этого отображения, ключи которого больше или равны |
ConcurrentNavigableMap<K,V> | tailMap(K fromKey,
boolean inclusive) | Возвращает представление части этого отображения, ключи которого больше (или равны, если |
Collection<V> | values() | Возвращает |
Методы, объявленные в классе 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()
Удаляет все отображения из этого отображения.
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