|
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, valuesdefault 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