Android
java.util.concurrent
public interface

java.util.concurrent.ConcurrentMap<K, V>

java.util.concurrent.ConcurrentMap<K, V> Map<K, V>

A Map providing additional atomic putIfAbsent, remove, and replace methods.

Known Indirect Subclasses

Summary

Public Methods

          putIfAbsent(K key, V value)
If the specified key is not already associated with a value, associate it with the given value.
          boolean  remove(Object key, Object value)
Remove entry for key only if currently mapped to given value.
          boolean  replace(K key, V oldValue, V newValue)
Replace entry for key only if currently mapped to given value.
          replace(K key, V value)
Replace entry for key only if currently mapped to some value.
Methods inherited from interface java.util.Map

Details

Public Methods

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

UnsupportedOperationException if the put operation is not supported by this map.
ClassCastException if the class of the specified key or value prevents it from being stored in this map.
IllegalArgumentException if some aspect of this key or value prevents it from being stored in this map.
NullPointerException if this map does not permit null keys or values, and the specified key or value is null.

public boolean remove(Object key, 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.

Parameters

key key with which the specified value is associated.
value value associated with the specified key.

Returns

  • 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 boolean replace(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.

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

Throws

NullPointerException if this map does not permit null keys or values, and the specified key or value is null.

public V replace(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.

Parameters

key key with which the specified value is 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

NullPointerException if this map does not permit null keys or values, and the specified key or value is null.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56