java.util.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.
<K> the type of keys maintained by this map<V> the type of mapped values
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 map
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)
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 map
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