java.util.concurrent.ConcurrentMap<K, V> |
Known Indirect Subclasses
|
Class Overview
A 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.
Summary
Public Methods |
abstract
V
|
putIfAbsent(K key, V value)
If the specified key is not already associated
with a value, associate it with the given value.
|
abstract
boolean
|
remove(Object key, Object value)
Removes the entry for a key only if currently mapped to a given value.
|
abstract
boolean
|
replace(K key, V oldValue, V newValue)
Replaces the entry for a key only if currently mapped to a given value.
|
abstract
V
|
replace(K key, V value)
Replaces the entry for a key only if currently mapped to some value.
|
[Expand]
Inherited Methods |
From interface java.util.Map
abstract
void
|
clear()
Removes all elements from this Map , leaving it empty.
|
abstract
boolean
|
containsKey(Object key)
Returns whether this Map contains the specified key.
|
abstract
boolean
|
containsValue(Object value)
Returns whether this Map contains the specified value.
|
abstract
Set<Entry<K, V>>
|
entrySet()
Returns a Set containing all of the mappings in this Map .
|
abstract
boolean
|
equals(Object object)
Compares the argument to the receiver, and returns true if the
specified object is a Map and both Map s contain the same mappings.
|
abstract
V
|
get(Object key)
Returns the value of the mapping with the specified key.
|
abstract
int
|
hashCode()
Returns an integer hash code for the receiver.
|
abstract
boolean
|
isEmpty()
Returns whether this map is empty.
|
abstract
Set<K>
|
keySet()
Returns a set of the keys contained in this Map .
|
abstract
V
|
put(K key, V value)
Maps the specified key to the specified value.
|
abstract
void
|
putAll(Map<? extends K, ? extends V> map)
Copies every mapping in the specified Map to this Map .
|
abstract
V
|
remove(Object key)
Removes a mapping with the specified key from this Map .
|
abstract
int
|
size()
Returns the number of mappings in this Map .
|
abstract
Collection<V>
|
values()
Returns a Collection of the values contained in this Map .
|
|
Public Methods
public
abstract
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
- the previous value associated with the specified key, or
null 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.)
public
abstract
boolean
remove
(Object key, Object value)
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 |
value
| value expected to be associated with the specified key |
Returns
- true if the value was removed
public
abstract
boolean
replace
(K key, V oldValue, V newValue)
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 |
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
public
abstract
V
replace
(K key, V value)
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 |
value
| value to be associated with the specified key |
Returns
- the previous value associated with the specified key, or
null 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.)