java.util.concurrent.ConcurrentMap<K, V>
java.util.concurrent.ConcurrentMap<K, V> |
Map<K, V>
|
A Map providing additional atomic
putIfAbsent, remove, and replace methods.
Known Indirect Subclasses
ConcurrentHashMap<K, V> |
A hash table supporting full concurrency of retrievals and
adjustable expected concurrency for updates. |
Summary
Public Methods
Methods inherited
from interface
java.util.Map
clear,
containsKey,
containsValue,
entrySet,
equals,
get,
hashCode,
isEmpty,
keySet,
put,
putAll,
remove,
size,
values
Details
Public Methods
public
V
putIfAbsent(K key, V value)
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. |
value
| value to be associated with the specified key. |
Returns
- previous value associated with specified key, or null
if there was no mapping for key. A null return can
also indicate that the map previously associated null
with the specified key, if the implementation supports
null values.
public
boolean
remove(Object key, Object value)
Remove entry for key only if currently mapped to given value.
Acts as
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. |
value
| value associated with the specified key. |
Returns
- true if the value was removed, false otherwise
Throws
NullPointerException
| if this map does not permit null
keys or values, and the specified key or value is
null.
|
public
boolean
replace(K key, V oldValue, V newValue)
Replace entry for key only if currently mapped to given value.
Acts as
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. |
oldValue
| value expected to be associated with the specified key. |
newValue
| value to be associated with the specified key. |
Returns
- true if the value was replaced
Throws
NullPointerException
| if this map does not permit null
keys or values, and the specified key or value is
null.
|
public
V
replace(K key, V value)
Replace entry for key only if currently mapped to some value.
Acts as
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. |
value
| value to be associated with the specified key. |
Returns
- previous value associated with specified key, or null
if there was no mapping for key. A null return can
also indicate that the map previously associated null
with the specified key, if the implementation supports
null values.
Throws
NullPointerException
| if this map does not permit null
keys or values, and the specified key or value is
null.
|