public interface ConcurrentMap
extends java.util.Map
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 |
|---|---|
java.lang.Object |
putIfAbsent(java.lang.Object key,
java.lang.Object value)
If the specified key is not already associated
with a value, associate it with the given value.
|
boolean |
remove(java.lang.Object key,
java.lang.Object value)
Removes the entry for a key only if currently mapped to a given value.
|
java.lang.Object |
replace(java.lang.Object key,
java.lang.Object value)
Replaces the entry for a key only if currently mapped to some value.
|
boolean |
replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue)
Replaces the entry for a key only if currently mapped to a given value.
|
java.lang.Object putIfAbsent(java.lang.Object key,
java.lang.Object value)
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 associatedvalue - value to be associated with the specified keyjava.lang.UnsupportedOperationException - if the put operation
is not supported by this mapjava.lang.ClassCastException - if the class of the specified key or value
prevents it from being stored in this mapjava.lang.NullPointerException - if the specified key or value is null,
and this map does not permit null keys or valuesjava.lang.IllegalArgumentException - if some property of the specified key
or value prevents it from being stored in this mapboolean remove(java.lang.Object key,
java.lang.Object value)
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 associatedvalue - value expected to be associated with the specified keyjava.lang.UnsupportedOperationException - if the remove operation
is not supported by this mapjava.lang.ClassCastException - if the key or value is of an inappropriate
type for this map (optional)java.lang.NullPointerException - if the specified key or value is null,
and this map does not permit null keys or values (optional)boolean replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue)
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 associatedoldValue - value expected to be associated with the specified keynewValue - value to be associated with the specified keyjava.lang.UnsupportedOperationException - if the put operation
is not supported by this mapjava.lang.ClassCastException - if the class of a specified key or value
prevents it from being stored in this mapjava.lang.NullPointerException - if a specified key or value is null,
and this map does not permit null keys or valuesjava.lang.IllegalArgumentException - if some property of a specified key
or value prevents it from being stored in this mapjava.lang.Object replace(java.lang.Object key,
java.lang.Object value)
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 associatedvalue - value to be associated with the specified keyjava.lang.UnsupportedOperationException - if the put operation
is not supported by this mapjava.lang.ClassCastException - if the class of the specified key or value
prevents it from being stored in this mapjava.lang.NullPointerException - if the specified key or value is null,
and this map does not permit null keys or valuesjava.lang.IllegalArgumentException - if some property of the specified key
or value prevents it from being stored in this map