| java.util.concurrent.ConcurrentMap<K, V> | 
        
          
        
        Known Indirect Subclasses
         | 
      
       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.
      
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          
          If the specified key is not already associated
 with a value, associate it with the given value.
          
         | 
       ||||||||||
| 
          | 
        
          
          Removes the entry for a key only if currently mapped to a given value.
          
         | 
       ||||||||||
| 
          | 
        
          
          Replaces the entry for a key only if currently mapped to a given value.
          
         | 
       ||||||||||
| 
          | 
        
          
          Replaces the entry for a key only if currently mapped to some value.
          
         | 
       ||||||||||
| 
         
          [Expand]
         
          
          Inherited Methods
          
         | 
       |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
         
           
         
         From interface
         
          java.util.Map
         
          | 
       |||||||||||
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.
        
       | key | key with which the specified value is to be associated | 
|---|---|
| value | value to be associated with the specified key | 
           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.)
         | 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 | 
| NullPointerException | if the specified key or value is null, and this map does not permit null keys or values | 
| IllegalArgumentException | if some property of the specified key or value prevents it from being stored in this map | 
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.
        
       | key | key with which the specified value is associated | 
|---|---|
| value | value expected to be associated with the specified key | 
           true
          
          if the value was removed
         | UnsupportedOperationException | 
           if the
           
            remove
           
           operation
         is not supported by this map
           | 
         
|---|---|
| ClassCastException | if the key or value is of an inappropriate type for this map ( optional ) | 
| NullPointerException | if the specified key or value is null, and this map does not permit null keys or values ( optional ) | 
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.
        
       | 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 | 
           true
          
          if the value was replaced
         | UnsupportedOperationException | 
           if the
           
            put
           
           operation
         is not supported by this map
           | 
         
|---|---|
| ClassCastException | if the class of a specified key or value prevents it from being stored in this map | 
| NullPointerException | if a specified key or value is null, and this map does not permit null keys or values | 
| IllegalArgumentException | if some property of a specified key or value prevents it from being stored in this map | 
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.
        
       | key | key with which the specified value is associated | 
|---|---|
| value | value to be associated with the specified key | 
           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.)
         | 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 | 
| NullPointerException | if the specified key or value is null, and this map does not permit null keys or values | 
| IllegalArgumentException | if some property of the specified key or value prevents it from being stored in this map |