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