java.util.concurrent
Interface ConcurrentMap<K,V>
- All Superinterfaces:
- Map
- All Known Implementing Classes:
- ConcurrentHashMap
- public interface ConcurrentMap<K,V>
- extends Map<K,V>
A Map providing additional atomic
putIfAbsent and remove methods.
- Since:
- 1.5
- Author:
- Doug Lea
|
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(java.lang.Object key,
java.lang.Object value)
Remove entry for key only if currently mapped to given value. |
| Methods inherited from interface java.util.Map |
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
putIfAbsent
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.
- Throws:
java.lang.UnsupportedOperationException - if the put operation is
not supported by this map.
java.lang.ClassCastException - if the class of the specified key or value
prevents it from being stored in this map.
java.lang.IllegalArgumentException - if some aspect of this key or value
prevents it from being stored in this map.
java.lang.NullPointerException - if this map does not permit null
keys or values, and the specified key or value is
null.
remove
public boolean remove(java.lang.Object key,
java.lang.Object value)
- Remove entry for key only if currently mapped to given value.
Acts as
if (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
- Throws:
java.lang.NullPointerException - if this map does not permit null
keys or values, and the specified key or value is
null.