|
Spec-Zone .ru
спецификации, руководства, описания, API
|
K - тип ключей сохраняется этой картойV - тип отображенных значенийpublic interface ConcurrentMap<K,V> extends Map<K,V>
Map обеспечивая дополнительный атомарный putIfAbsent, remove, и методы replace. Эффекты непротиворечивости памяти: Как с другими параллельными наборами, действиями в потоке до размещения объекта в a ConcurrentMap поскольку ключ или значение происходят - перед действиями, последующими за доступом или удалением того объекта от ConcurrentMap в другом потоке.
Этот интерфейс является элементом Платформы Наборов Java.
| Модификатор и Тип | Метод и Описание |
|---|---|
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)
Заменяет запись для ключа только если в настоящий момент отображенный на данное значение.
|
V putIfAbsent(K key, V value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key); за исключением того, что действие выполняется атомарно.key - ключ, с которым должно быть связано указанное значениеvalue - значение, которое будет связано с указанным ключомUnsupportedOperationException - если работа put не поддерживается этой картойClassCastException - если класс указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException - если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException - если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеboolean remove(Object key, Object value)
if (map.containsKey(key) && map.get(key).equals(value)) {
map.remove(key);
return true;
} else return false; за исключением того, что действие выполняется атомарно.key - ключ, с которым связывается указанное значениеvalue - значение, которое, как ожидают, будет связано с указанным ключомUnsupportedOperationException - если работа remove не поддерживается этой картойClassCastException - если ключ или значение имеют несоответствующий тип для этой (дополнительной) картыNullPointerException - если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или оценивает (дополнительный)boolean replace(K key, V oldValue, V newValue)
if (map.containsKey(key) && map.get(key).equals(oldValue)) {
map.put(key, newValue);
return true;
} else return false; за исключением того, что действие выполняется атомарно.key - ключ, с которым связывается указанное значениеoldValue - значение, которое, как ожидают, будет связано с указанным ключомnewValue - значение, которое будет связано с указанным ключомUnsupportedOperationException - если работа put не поддерживается этой картойClassCastException - если класс указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException - если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException - если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеV replace(K key, V value)
if (map.containsKey(key)) {
return map.put(key, value);
} else return null; за исключением того, что действие выполняется атомарно.key - ключ, с которым связывается указанное значениеvalue - значение, которое будет связано с указанным ключомUnsupportedOperationException - если работа put не поддерживается этой картойClassCastException - если класс указанного ключа или значения препятствует тому, чтобы это было сохранено в этой картеNullPointerException - если указанный ключ или значение являются нулем, и эта карта не разрешает нулевые ключи или значенияIllegalArgumentException - если некоторое свойство указанного ключа или значения препятствует тому, чтобы это было сохранено в этой карте
Для дальнейшей ссылки API и документации разработчика, см. . Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.