TopBlend: Here is the first difference. There are 3 differences. is old. is new.

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

Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values
All Superinterfaces:
Map <K,V>
All Known Implementing Classes:
ConcurrentHashMap

public interface ConcurrentMap<K,V>
extends Map<K,V>

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

This interface is a member of the Java Collections Framework .

Since:
1.5

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util. Map
Map.Entry < K , V >
 
Method Summary
  V 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.
  V replace ( K  key, V  value)
          Replace entry for key only if currently mapped to some value.
 boolean replace ( K  key, V  oldValue, V  newValue)
          Replace entry for key only if currently mapped to given value.
 
Methods inherited from interface java.util. Map
clear , containsKey , containsValue , entrySet , equals , get , hashCode , isEmpty , keySet , put , putAll , remove , size , values
 

Method Detail

putIfAbsent


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 .

remove


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:
UnsupportedOperationException - if the remove operation is not supported by this map.
NullPointerException - if this map does not permit null keys or values, and the specified key or value is null .

replace


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:
UnsupportedOperationException - if the put operation is not supported by this map.
NullPointerException - if this map does not permit null keys or values, and the specified key or value is null .

replace


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:
UnsupportedOperationException - if the put operation is not supported by this map.
NullPointerException - if this map does not permit null keys or values, and the specified key or value is null .