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.)