| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ConcurrentMap extends Map
A {@link java.util.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 {@code ConcurrentMap} as a key or value happen-before actions subsequent to the access or removal of that object from the {@code ConcurrentMap} in another thread.
This interface is a member of the Java Collections Framework.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.util.Map |
---|
Map.Entry |
Method Summary | |
---|---|
Object |
putIfAbsent(Object key, Object value) If the specified key is not already associated with a value, associate it with the given value. |
boolean |
Removes the entry for a key only if currently mapped to a given value. |
Object |
Replaces the entry for a key only if currently mapped to some value. |
boolean |
Replaces the entry for a key only if currently mapped to a given value. |
Methods inherited from class java.util.Map |
---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
Method Detail |
---|
public Object putIfAbsent(Object key, Object value)
if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);except that the action is performed atomically.
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keypublic boolean remove(Object key, Object value)
if (map.containsKey(key) && map.get(key).equals(value)) { map.remove(key); return true; } else return false;except that the action is performed atomically.
key
- key with which the specified value is associatedvalue
- value expected to be associated with the specified keypublic Object replace(Object key, Object value)
if (map.containsKey(key)) { return map.put(key, value); } else return null;except that the action is performed atomically.
key
- key with which the specified value is associatedvalue
- value to be associated with the specified keypublic boolean replace(Object key, Object oldValue, Object newValue)
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.
key
- key with which the specified value is associatedoldValue
- value expected to be associated with the specified keynewValue
- value to be associated with the specified key
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |