java.util.concurrent.ConcurrentMap<K, V> |
Known Indirect Subclasses
|
A 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.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
If the specified key is not already associated
with a value, associate it with the given value.
| |||||||||||
Removes the entry for a key only if currently mapped to a given value.
| |||||||||||
Replaces the entry for a key only if currently mapped to a given value.
| |||||||||||
Replaces the entry for a key only if currently mapped to some value.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
java.util.Map
|
If the specified key is not already associated with a value, associate it with the given value. This is equivalent to
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
except that the action is performed atomically.key | key with which the specified value is to be associated |
---|---|
value | value to be associated with the specified key |
null
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 map |
---|---|
ClassCastException | if the class of the specified key or value prevents it from being stored in this map |
NullPointerException | if the specified key or value is null, and this map does not permit null keys or values |
IllegalArgumentException | if some property of the specified key or value prevents it from being stored in this map |
Removes the entry for a key only if currently mapped to a given value. This is equivalent to
if (map.containsKey(key) && map.get(key).equals(value)) {
map.remove(key);
return true;
else
return false;}
except that the action is performed atomically.key | key with which the specified value is associated |
---|---|
value | value expected to be associated with the specified key |
true
if the value was removedUnsupportedOperationException | if the remove operation
is not supported by this map |
---|---|
ClassCastException | 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) |
Replaces the entry for a key only if currently mapped to a given value. This is equivalent to
if (map.containsKey(key) && map.get(key).equals(oldValue)) {
map.put(key, newValue);
return true;
else
return false;}
except that the action is performed atomically.key | key with which the specified value is associated |
---|---|
oldValue | value expected to be associated with the specified key |
newValue | value to be associated with the specified key |
true
if the value was replacedUnsupportedOperationException | if the put operation
is not supported by this map |
---|---|
ClassCastException | if the class of a specified key or value prevents it from being stored in this map |
NullPointerException | if a specified key or value is null, and this map does not permit null keys or values |
IllegalArgumentException | if some property of a specified key or value prevents it from being stored in this map |
Replaces the entry for a key only if currently mapped to some value. This is equivalent to
if (map.containsKey(key)) {
return map.put(key, value);
else
return null;}
except that the action is performed atomically.key | key with which the specified value is associated |
---|---|
value | value to be associated with the specified key |
null
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 map |
---|---|
ClassCastException | if the class of the specified key or value prevents it from being stored in this map |
NullPointerException | if the specified key or value is null, and this map does not permit null keys or values |
IllegalArgumentException | if some property of the specified key or value prevents it from being stored in this map |