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 |
|---|---|
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, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, remove, replaceAll, size, valuesV 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 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 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