Spec-Zone .ru
спецификации, руководства, описания, API
|
K
- the type of keys maintained by this mapV
- the type of mapped valuespublic interface ConcurrentMap<K,V> extends Map<K,V>
Map
providing additional atomic
putIfAbsent
, remove
, and replace
methods.
Memory consistency effects: As with other concurrent
collections, actions in a thread prior to placing an object into a
ConcurrentMap
as a key or value
happen-before
actions subsequent to the access or removal of that object from
the ConcurrentMap
in another thread.
This interface is a member of the Java Collections Framework.
Modifier and Type | Method and Description |
---|---|
default V |
getOrDefault(Object key,
V defaultValue)
Returns the value to which the specified key is mapped,
or
defaultValue if this map contains no mapping
for the key. |
V |
putIfAbsent(K key,
V value)
If the specified key is not already associated
with a value, associate it with the given value.
|
boolean |
remove(Object key,
Object value)
Removes the entry for a key only if currently mapped to a given value.
|
V |
replace(K key,
V value)
Replaces the entry for a key only if currently mapped to some value.
|
boolean |
replace(K key,
V oldValue,
V newValue)
Replaces the entry for a key only if currently mapped to a given value.
|
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
if this map contains no mapping
for the key.
The default implementation makes no guarantees about synchronization or atomicity properties of this method. Any implementation providing atomicity guarantees must override this method and document its concurrency properties.
getOrDefault
in interface Map<K,V>
key
- the key whose associated value is to be returneddefaultValue
if this map contains no mapping for the keyV putIfAbsent(K key, V value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
except that the action is performed atomically.putIfAbsent
in interface Map<K,V>
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keyUnsupportedOperationException
- if the put operation
is not supported by this mapClassCastException
- if the class of the specified key or value
prevents it from being stored in this mapNullPointerException
- if the specified key or value is null,
and this map does not permit null keys or valuesIllegalArgumentException
- if some property of the specified key
or value prevents it from being stored in this mapboolean remove(Object key, Object value)
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.remove(key);
return true;
} else
return false;
except that the action is performed atomically.remove
in interface Map<K,V>
key
- key with which the specified value is associatedvalue
- value expected to be associated with the specified keytrue
if the value was removedUnsupportedOperationException
- if the remove
operation
is not supported by this mapClassCastException
- if the key or value is of an inappropriate
type for this map
(optional)NullPointerException
- if the specified key or value is null,
and this map does not permit null keys or values
(optional)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;
except that the action is performed atomically.replace
in interface Map<K,V>
key
- key with which the specified value is associatedoldValue
- value expected to be associated with the specified keynewValue
- value to be associated with the specified keytrue
if the value was replacedUnsupportedOperationException
- if the put
operation
is not supported by this mapClassCastException
- if the class of a specified key or value
prevents it from being stored in this mapNullPointerException
- if a specified key or value is null,
and this map does not permit null keys or valuesIllegalArgumentException
- if some property of a specified key
or value prevents it from being stored in this mapV replace(K key, V value)
if (map.containsKey(key)) {
return map.put(key, value);
} else
return null;
except that the action is performed atomically.replace
in interface Map<K,V>
key
- key with which the specified value is associatedvalue
- value to be associated with the specified keynull
if there was no mapping for the key.
(A null
return can also indicate that the map
previously associated null
with the key,
if the implementation supports null values.)UnsupportedOperationException
- if the put
operation
is not supported by this mapClassCastException
- if the class of the specified key or value
prevents it from being stored in this mapNullPointerException
- if the specified key or value is null,
and this map does not permit null keys or valuesIllegalArgumentException
- if some property of the specified key
or value prevents it from being stored in this map
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.
DRAFT ea-b92