Класс ConcurrentSkipListMap<K, V>
- Параметры типа:
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, заданного при создании карты, в зависимости от используемого конструктора. Этот класс реализует параллельный вариант списков с пропусками, обеспечивая ожидаемую среднюю временную сложность 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.
- Начиная с версии:
- 1.6
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе AbstractMap
AbstractMap.SimpleEntry<K, V>, AbstractMap.SimpleImmutableEntry<K, V> | Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
AbstractMap.SimpleEntry<K, |
Запись, содержащая ключ и значение. |
static class |
AbstractMap.SimpleImmutableEntry<K, |
Неизменяемая запись, содержащая ключ и значение. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ConcurrentSkipListMap() |
Создает новую пустую карту, упорядоченную согласно естественному порядку ключей. |
ConcurrentSkipListMap |
Создает новую пустую карту, упорядоченную согласно указанному компаратору. |
ConcurrentSkipListMap |
Создает новую карту, содержащую те же соответствия, что и заданная карта, и упорядоченную согласно естественному порядку ключей. |
ConcurrentSkipListMap |
Создает новую карту, содержащую те же соответствия и использующую тот же порядок, что и указанная отсортированная карта. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Map.Entry |
ceilingEntry |
Возвращает пару «ключ-значение», связанную с наименьшим ключом, который больше или равен заданному ключу, либо null, если такой записи нет. |
K |
ceilingKey |
Возвращает наименьший ключ, который больше или равен заданному ключу, либо null, если такого ключа нет. |
void |
clear() |
Удаляет из этой карты все соответствия. |
ConcurrentSkipListMap |
clone() |
Возвращает поверхностную копию этого экземпляра ConcurrentSkipListMap. |
Comparator |
comparator() |
Возвращает компаратор, используемый для упорядочивания ключей в этой карте, либо null, если в карте используется естественный порядок ключей. |
V |
compute |
Пытается вычислить соответствие для указанного ключа и его текущего сопоставленного значения (либо null, если соответствие отсутствует). |
V |
computeIfAbsent |
Если указанному ключу еще не сопоставлено значение, пытается вычислить его с помощью заданной функции сопоставления и добавить в эту карту, если только null. |
V |
computeIfPresent |
Если значение для указанного ключа присутствует, пытается вычислить новое соответствие, используя ключ и его текущее сопоставленное значение. |
boolean |
containsKey |
Возвращает true, если эта карта содержит соответствие для указанного ключа. |
boolean |
containsValue |
Возвращает true, если в этой карте одному или нескольким ключам сопоставлено указанное значение. |
NavigableSet |
descendingKeySet() |
Возвращает представление ключей этой карты в обратном порядке в виде NavigableSet. |
ConcurrentNavigableMap |
descendingMap() |
Возвращает представление соответствий этой карты в обратном порядке. |
Set |
entrySet() |
Возвращает представление содержащихся в этой карте соответствий в виде Set. |
boolean |
equals |
Сравнивает указанный объект с этой картой на равенство. |
Map.Entry |
firstEntry() |
Возвращает пару «ключ-значение», связанную с наименьшим ключом в этой карте, либо null, если карта пуста. |
K |
firstKey() |
Возвращает первый (наименьший) ключ, находящийся в этой карте в данный момент. |
Map.Entry |
floorEntry |
Возвращает пару «ключ-значение», связанную с наибольшим ключом, который меньше или равен заданному ключу, либо null, если такого ключа нет. |
K |
floorKey |
Возвращает наибольший ключ, который меньше или равен заданному ключу, либо null, если такого ключа нет. |
V |
get |
Возвращает значение, сопоставленное указанному ключу, либо null, если в этой карте нет соответствия для ключа. |
V |
getOrDefault |
Возвращает значение, сопоставленное указанному ключу, либо заданное значение по умолчанию, если в этой карте нет соответствия для ключа. |
ConcurrentNavigableMap |
headMap |
Возвращает представление части этой карты, ключи которой строго меньше toKey. |
ConcurrentNavigableMap |
headMap |
Возвращает представление части этой карты, ключи которой меньше (или равны, если inclusive равно true) toKey. |
Map.Entry |
higherEntry |
Возвращает пару «ключ-значение», связанную с наименьшим ключом, строго большим заданного ключа, либо null, если такого ключа нет. |
K |
higherKey |
Возвращает наименьший ключ, строго больший заданного ключа, либо null, если такого ключа нет. |
NavigableSet |
keySet() |
Возвращает представление ключей этой карты в виде NavigableSet. |
Map.Entry |
lastEntry() |
Возвращает пару «ключ-значение», связанную с наибольшим ключом в этой карте, либо null, если карта пуста. |
K |
lastKey() |
Возвращает последний (наибольший) ключ, находящийся в этой карте в данный момент. |
Map.Entry |
lowerEntry |
Возвращает пару «ключ-значение», связанную с наибольшим ключом, строго меньшим заданного ключа, либо null, если такого ключа нет. |
K |
lowerKey |
Возвращает наибольший ключ, строго меньший заданного ключа, либо null, если такого ключа нет. |
V |
merge |
Если указанному ключу еще не сопоставлено значение, сопоставляет ему заданное значение. |
NavigableSet |
navigableKeySet() |
Возвращает представление ключей этой карты в виде NavigableSet. |
Map.Entry |
pollFirstEntry() |
Удаляет и возвращает пару «ключ-значение», связанную с наименьшим ключом в этой карте, либо null, если карта пуста. |
Map.Entry |
pollLastEntry() |
Удаляет и возвращает пару «ключ-значение», связанную с наибольшим ключом в этой карте, либо null, если карта пуста. |
V |
put |
Сопоставляет указанное значение указанному ключу в этой карте. |
V |
putFirst |
Выбрасывает UnsupportedOperationException. |
V |
putIfAbsent |
Если указанному ключу еще не сопоставлено значение, сопоставляет ему заданное значение. |
V |
putLast |
Выбрасывает UnsupportedOperationException. |
V |
remove |
Удаляет из этой карты соответствие для указанного ключа, если оно имеется. |
boolean |
remove |
Удаляет запись для ключа только в том случае, если ему в данный момент сопоставлено заданное значение. |
V |
replace |
Заменяет запись для ключа только в том случае, если ему в данный момент сопоставлено какое-либо значение. |
boolean |
replace |
Заменяет запись для ключа только в том случае, если ему в данный момент сопоставлено заданное значение. |
ConcurrentNavigableMap |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey до toKey. |
ConcurrentNavigableMap |
subMap |
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey включительно до toKey исключительно. |
ConcurrentNavigableMap |
tailMap |
Возвращает представление части этой карты, ключи которой больше или равны fromKey. |
ConcurrentNavigableMap |
tailMap |
Возвращает представление части этой карты, ключи которой больше (или равны, если inclusive равно true) fromKey. |
Collection |
values() |
Возвращает представление значений этой карты в виде Collection. |
Методы, объявленные в классе AbstractMap
hashCode, isEmpty, putAll, size, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
hashCode() |
Возвращает значение хеш-кода этой карты. |
boolean |
isEmpty() |
Возвращает true, если эта карта не содержит пар «ключ-значение». |
void |
putAll |
Копирует в эту карту все соответствия из указанной карты (необязательная операция). |
int |
size() |
Возвращает количество пар «ключ-значение» в этой карте. |
String |
toString() |
Возвращает строковое представление этой карты. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
Методы, объявленные в интерфейсе ConcurrentMap
forEach, replaceAll | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждой записи в этой карте, пока не будут обработаны все записи или действие не выбросит исключение. |
default void |
replaceAll |
Заменяет значение каждой записи результатом вызова заданной функции для этой записи, пока не будут обработаны все записи или функция не выбросит исключение (необязательная операция). |
Методы, объявленные в интерфейсе NavigableMap
reversed | Модификатор и тип | Метод | Описание |
|---|---|---|
default NavigableMap |
reversed() |
Возвращает представление этой карты в обратном порядке. |
Методы, объявленные в интерфейсе SequencedMap
sequencedEntrySet, sequencedKeySet, sequencedValues | Модификатор и тип | Метод | Описание |
|---|---|---|
default SequencedSet |
sequencedEntrySet() |
Возвращает представление SequencedSet entrySet этой карты. |
default SequencedSet |
sequencedKeySet() |
Возвращает представление SequencedSet keySet этой карты. |
default SequencedCollection |
sequencedValues() |
Возвращает представление SequencedCollection коллекции values этой карты. |
Подробное описание конструкторов
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> - Возвращает:
- поверхностную копию этой карты
- См. также:
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
clear
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 или mappingFunction равна null - Начиная с версии:
- 1.8
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
- Определено в:
-
computeIfPresentв интерфейсеConcurrentMap<K,V> - Определено в:
-
computeIfPresentв интерфейсеMap<K,V> - Параметры:
-
key— ключ, с которым может быть связано значение -
remappingFunction— функция для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если его нет
- Исключения:
-
NullPointerException— если указанный ключ равен null или remappingFunction равна null - Начиная с версии:
- 1.8
compute
public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
null, если соответствия в данный момент нет). НЕ гарантируется, что функция будет применена только один раз атомарно.- Определено в:
-
computeв интерфейсеConcurrentMap<K,V> - Определено в:
-
computeв интерфейсеMap<K,V> - Параметры:
-
key— ключ, с которым связывается указанное значение -
remappingFunction— функция для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если его нет
- Исключения:
-
NullPointerException— если указанный ключ равен null или remappingFunction равна null - Начиная с версии:
- 1.8
merge
public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
null. НЕ гарантируется, что функция будет применена только один раз атомарно.- Определено в:
-
mergeв интерфейсеConcurrentMap<K,V> - Определено в:
-
mergeв интерфейсеMap<K,V> - Параметры:
-
key— ключ, с которым связывается указанное значение -
value— значение, используемое при отсутствии соответствия -
remappingFunction— функция для повторного вычисления значения, если оно существует - Возвращает:
- новое значение, связанное с указанным ключом, или null, если его нет
- Исключения:
-
NullPointerException— если указанный ключ или значение равны null либо remappingFunction равна null - Начиная с версии:
- 1.8
keySet
public NavigableSet<K> keySet()
NavigableSet. Итератор множества возвращает ключи в порядке возрастания. Кроме того, spliterator множества сообщает характеристики Spliterator.CONCURRENT, Spliterator.NONNULL, Spliterator.SORTED и Spliterator.ORDERED; порядок обхода соответствует возрастанию ключей.
Компаратор spliterator равен null, если компаратор карты равен null. В противном случае компаратор spliterator совпадает с компаратором карты или задает тот же полный порядок.
Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Итераторы и spliterator этого представления обладают слабой согласованностью.
Этот метод эквивалентен методу navigableKeySet.
values
public Collection<V> values()
Collection. Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Кроме того, spliterator коллекции сообщает характеристики Spliterator.CONCURRENT, Spliterator.NONNULL и Spliterator.ORDERED; порядок обхода соответствует возрастанию соответствующих ключей.
Коллекция поддерживается картой, поэтому изменения карты отражаются в коллекции, и наоборот. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Итераторы и spliterator этого представления обладают слабой согласованностью.
entrySet
public Set<Map.Entry<K,V>> entrySet()
Set. Итератор множества возвращает записи в порядке возрастания ключей. Кроме того, spliterator множества сообщает характеристики Spliterator.CONCURRENT, Spliterator.NONNULL, Spliterator.SORTED и Spliterator.ORDERED; порядок обхода соответствует возрастанию ключей.
Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Итераторы и spliterator этого представления обладают слабой согласованностью.
Элементы Map.Entry, перебираемые с помощью iterator или spliterator, не поддерживают операцию setValue.
descendingMap
public ConcurrentNavigableMap<K,V> descendingMap()
ConcurrentNavigableMapПорядок возвращаемой карты эквивалентен порядку, задаваемому Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m, по существу эквивалентное m.
- Определено в:
-
descendingMapв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
descendingMapв интерфейсеNavigableMap<K,V> - Возвращает:
- представление этой карты в обратном порядке
descendingKeySet
public NavigableSet<K> descendingKeySet()
ConcurrentNavigableMapNavigableSet. Итератор множества возвращает ключи в порядке убывания. Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются. Итераторы и spliterator этого представления обладают слабой согласованностью.
- Определено в:
-
descendingKeySetв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
descendingKeySetв интерфейсеNavigableMap<K,V> - Возвращает:
- представление ключей этой карты в обратном порядке в виде навигируемого множества
equals
public boolean equals(Object o)
true, если указанный объект также является картой и обе карты содержат одинаковые соответствия. Более формально, две карты m1 и m2 содержат одинаковые соответствия, если m1.entrySet().equals(m2.entrySet()). Эта операция может вернуть неверный результат, если во время выполнения метода какая-либо из карт изменяется параллельно.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
comparator
public Comparator<? super K> comparator()
SortedMapnull, если карта использует для своих ключей естественный порядок.- Определено в:
-
comparatorв интерфейсеSortedMap<K,V> - Возвращает:
- компаратор, используемый для упорядочивания ключей этой карты, или
null, если карта использует естественный порядок ключей
firstKey
public K firstKey()
SortedMap- Определено в:
-
firstKeyв интерфейсеSortedMap<K,V> - Возвращает:
- первый (наименьший) ключ, содержащийся в этой карте в данный момент
- Исключения:
-
NoSuchElementException— если эта карта пуста
lastKey
public K lastKey()
SortedMap- Определено в:
-
lastKeyв интерфейсеSortedMap<K,V> - Возвращает:
- последний (наибольший) ключ, присутствующий в этой карте в данный момент
- Вызывает исключение:
-
NoSuchElementException— если эта карта пуста
putFirst
public V putFirst(K k, V v)
UnsupportedOperationException. Порядок обхода, определяемый методом сравнения этой карты, задает позиции отображений, поэтому явное указание позиции не поддерживается.- Определено в:
-
putFirstв интерфейсеSequencedMap<K,V> - Определено в:
-
putFirstв интерфейсеSortedMap<K,V> - Параметры:
-
k— ключ -
v— значение - Возвращает:
- значение, ранее связанное с k, или null, если такого значения нет
- Вызывает исключение:
-
UnsupportedOperationException— всегда - Начиная с:
- 21
putLast
public V putLast(K k, V v)
UnsupportedOperationException. Порядок обхода, определяемый методом сравнения этой карты, задает позиции отображений, поэтому явное указание позиции не поддерживается.- Определено в:
-
putLastв интерфейсеSequencedMap<K,V> - Определено в:
-
putLastв интерфейсеSortedMap<K,V> - Параметры:
-
k— ключ -
v— значение - Возвращает:
- значение, ранее связанное с k, или null, если такого значения нет
- Вызывает исключение:
-
UnsupportedOperationException— всегда - Начиная с:
- 21
subMap
public ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
NavigableMapfromKey до toKey. Если fromKey и toKey равны, возвращаемая карта пуста, если только fromInclusive и toInclusive не равны true. Возвращаемая карта связана с этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона возвращаемая карта вызовет 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)
NavigableMapinclusive имеет значение 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)
NavigableMapinclusive имеет значение 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)
NavigableMapfromKey включительно до 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)
NavigableMaptoKey. Возвращаемая карта связана с этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона возвращаемая карта вызовет 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)
NavigableMapfromKey. Возвращаемая карта связана с этой картой, поэтому изменения в возвращаемой карте отражаются в этой карте, и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, поддерживаемые этой картой. При попытке вставить ключ за пределами диапазона возвращаемая карта вызовет 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)
NavigableMapnull, если такого ключа нет.- Определено в:
-
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)
NavigableMapnull, если такого ключа нет.- Определено в:
-
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)
NavigableMapnull, если такого ключа нет.- Определено в:
-
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)
NavigableMapnull, если такого ключа нет.- Определено в:
-
higherKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key— ключ - Возвращает:
- наименьший ключ, больший
key, илиnull, если такого ключа нет - Вызывает исключение:
-
ClassCastException— если указанный ключ нельзя сравнить с ключами, уже присутствующими в карте -
NullPointerException— если указанный ключ равен null
firstEntry
public Map.Entry<K,V> firstEntry()
null, если карта пуста. Возвращаемая запись не поддерживает метод Entry.setValue.- Определено в:
-
firstEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
firstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- запись с наименьшим ключом или
null, если эта карта пуста
lastEntry
public Map.Entry<K,V> lastEntry()
null, если карта пуста. Возвращаемая запись не поддерживает метод Entry.setValue.- Определено в:
-
lastEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
lastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- запись с наибольшим ключом или
null, если эта карта пуста
pollFirstEntry
public Map.Entry<K,V> pollFirstEntry()
null, если карта пуста. Возвращаемая запись не поддерживает метод Entry.setValue.- Определено в:
-
pollFirstEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
pollFirstEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленную первую запись этой карты или
null, если эта карта пуста
pollLastEntry
public Map.Entry<K,V> pollLastEntry()
null, если карта пуста. Возвращаемая запись не поддерживает метод Entry.setValue.- Определено в:
-
pollLastEntryв интерфейсеNavigableMap<K,V> - Определено в:
-
pollLastEntryв интерфейсеSequencedMap<K,V> - Возвращает:
- удаленную последнюю запись этой карты или
null, если эта карта пуста
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.