FileDocCategorySizeDatePackage
ConcurrentMap.javaAPI DocAndroid 1.5 API4685Wed May 06 22:41:02 BST 2009java.util.concurrent

ConcurrentMap

public interface ConcurrentMap implements Map
A {@link java.util.Map} providing additional atomic putIfAbsent, remove, and replace methods.
since
1.5
author
Doug Lea
param
the type of keys maintained by this map
param
the type of mapped values

Fields Summary
Constructors Summary
Methods Summary
public VputIfAbsent(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.

param
key key with which the specified value is to be associated.
param
value value to be associated with the specified key.
return
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
UnsupportedOperationException if the put operation is not supported by this map.
throws
ClassCastException if the class of the specified key or value prevents it from being stored in this map.
throws
IllegalArgumentException if some aspect of this key or value prevents it from being stored in this map.
throws
NullPointerException if this map does not permit null keys or values, and the specified key or value is null.

public booleanremove(java.lang.Object key, java.lang.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.

param
key key with which the specified value is associated.
param
value value associated with the specified key.
return
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 booleanreplace(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.

param
key key with which the specified value is associated.
param
oldValue value expected to be associated with the specified key.
param
newValue value to be associated with the specified key.
return
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 Vreplace(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.

param
key key with which the specified value is associated.
param
value value to be associated with the specified key.
return
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.