java.util.concurrent.ConcurrentMap<K, V> |
Known Indirect Subclasses
ConcurrentHashMap<K, V>
|
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 |
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 |
UnsupportedOperationException | 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 |
UnsupportedOperationException | 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 |
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 |