| java.util.concurrent.ConcurrentMap
ConcurrentMap | public interface ConcurrentMap extends Map<K, V>(Code) | | A
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.
since: 1.5 author: Doug Lea< Parameters: K - > the type of keys maintained by this map< Parameters: V - > the type of mapped values |
Method Summary | |
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. | boolean | replace(K key, V oldValue, V newValue) Replaces 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. |
putIfAbsent | V putIfAbsent(K key, V value)(Code) | | 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.
Parameters: key - key with which the specified value is to be associated Parameters: value - value to be associated with the specified key the previous value associated with the specified key, ornull if there was no mapping for the key.(A null return can also indicate that the mappreviously associated null with the key,if the implementation supports null values.) throws: UnsupportedOperationException - if the put operationis not supported by this map throws: ClassCastException - if the class of the specified key or valueprevents it from being stored in this map throws: NullPointerException - if the specified key or value is null,and this map does not permit null keys or values throws: IllegalArgumentException - if some property of the specified keyor value prevents it from being stored in this map |
remove | boolean remove(Object key, Object value)(Code) | | 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.
Parameters: key - key with which the specified value is associated Parameters: value - value expected to be associated with the specified key true if the value was removed throws: UnsupportedOperationException - if the remove operationis not supported by this map throws: ClassCastException - if the key or value is of an inappropriatetype for this map (optional) throws: NullPointerException - if the specified key or value is null,and this map does not permit null keys or values (optional) |
replace | boolean replace(K key, V oldValue, V newValue)(Code) | | 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.
Parameters: key - key with which the specified value is associated Parameters: oldValue - value expected to be associated with the specified key Parameters: newValue - value to be associated with the specified key true if the value was replaced throws: UnsupportedOperationException - if the put operationis not supported by this map throws: ClassCastException - if the class of a specified key or valueprevents it from being stored in this map throws: NullPointerException - if a specified key or value is null,and this map does not permit null keys or values throws: IllegalArgumentException - if some property of a specified keyor value prevents it from being stored in this map |
replace | V replace(K key, V value)(Code) | | 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.
Parameters: key - key with which the specified value is associated Parameters: value - value to be associated with the specified key the previous value associated with the specified key, ornull if there was no mapping for the key.(A null return can also indicate that the mappreviously associated null with the key,if the implementation supports null values.) throws: UnsupportedOperationException - if the put operationis not supported by this map throws: ClassCastException - if the class of the specified key or valueprevents it from being stored in this map throws: NullPointerException - if the specified key or value is null,and this map does not permit null keys or values throws: IllegalArgumentException - if some property of the specified keyor value prevents it from being stored in this map |
|
|