Spec-Zone .ru
спецификации, руководства, описания, API
|
K
- тип ключей сохраняется этой картойV
- тип отображенных значенийpublic interface ConcurrentMap<K,V> extends Map<K,V>
Map
обеспечение, дополнительное атомарный putIfAbsent
, remove
, и replace
методы. Эффекты непротиворечивости памяти: Как с другими параллельными наборами, действиями в потоке до размещения объекта в a ConcurrentMap
поскольку ключ или значение происходят - перед действиями, последующими за доступом или удалением того объекта от ConcurrentMap
в другом потоке.
Этот интерфейс является элементом Платформы Наборов Java.
Модификатор и Тип | Метод и Описание |
---|---|
default V |
getOrDefault(Object key, V defaultValue)
Возвращает значение, на которое указанный ключ отображается, или
defaultValue если эта карта не содержит отображения для ключа. |
V |
putIfAbsent(K key, V value)
Если указанный ключ уже не связывается со значением, свяжите его с данным значением.
|
boolean |
remove(Object key, Object value)
Удаляет запись для ключа только если в настоящий момент отображенный на данное значение.
|
V |
replace(K key, V value)
Заменяет запись для ключа только если в настоящий момент отображенный на некоторое значение.
|
boolean |
replace(K key, V oldValue, V newValue)
Заменяет запись для ключа только если в настоящий момент отображенный на данное значение.
|
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, hashCode, isEmpty, keySet, merge, put, putAll, remove, replaceAll, size, values
default V getOrDefault(Object key, V defaultValue)
defaultValue
если эта карта не содержит отображения для ключа. Реализация по умолчанию не делает гарантий о синхронизации или свойствах атомарности этого метода. Любая реализация, обеспечивающая гарантии атомарности, должна переопределить этот метод и задокументировать его свойства параллелизма.
getOrDefault
в интерфейсе Map<K,V>
key
- ключ, присваиваемое значение которого должно быть возвращеноdefaultValue
если эта карта не содержит отображения для ключаV putIfAbsent(K key, V value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
за исключением того, что действие выполняется атомарно.putIfAbsent
в интерфейсе Map<K,V>
key
- ключ, с которым должно быть связано указанное значениеvalue
- значение, которое будет связано с указанным ключомUnsupportedOperationException
- если работа put не поддерживается этой картойClassCastException
- если class указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException
- если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException
- если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеboolean remove(Object key, Object value)
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.remove(key);
return true;
} else
return false;
за исключением того, что действие выполняется атомарно.remove
в интерфейсе Map<K,V>
key
- ключ, с которым связывается указанное значениеvalue
- значение, которое, как ожидают, будет связано с указанным ключомtrue
если значение было удаленоUnsupportedOperationException
- если remove
работа не поддерживается этой картойClassCastException
- если ключ или значение имеют несоответствующий тип для этой (дополнительной) картыNullPointerException
- если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или оценивает (дополнительный)boolean replace(K key, V oldValue, V newValue)
if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) {
map.put(key, newValue);
return true;
} else
return false;
за исключением того, что действие выполняется атомарно.replace
в интерфейсе Map<K,V>
key
- ключ, с которым связывается указанное значениеoldValue
- значение, которое, как ожидают, будет связано с указанным ключомnewValue
- значение, которое будет связано с указанным ключомtrue
если значение было замененоUnsupportedOperationException
- если put
работа не поддерживается этой картойClassCastException
- если class указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException
- если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException
- если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеV replace(K key, V value)
if (map.containsKey(key)) {
return map.put(key, value);
} else
return null;
за исключением того, что действие выполняется атомарно.replace
в интерфейсе Map<K,V>
key
- ключ, с которым связывается указанное значениеvalue
- значение, которое будет связано с указанным ключомnull
если не было никакого отображения для ключа. (A null
возврат может также указать что карта, ранее связанная null
с ключом, если реализация поддерживает нулевые значения.)UnsupportedOperationException
- если put
работа не поддерживается этой картойClassCastException
- если class указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException
- если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException
- если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой карте
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92