Class SoftValueHashMap<K,​V>

  • All Implemented Interfaces:
    Map<K,​V>

    public class SoftValueHashMap<K,​V>
    extends Object
    implements Map<K,​V>
    This Map will remove entries when the value in the map has been cleaned from garbage collection
    Version:
    $Revision: 1.4 $
    Author:
    Bill Burke
    • Constructor Detail

      • SoftValueHashMap

        public SoftValueHashMap​(int initialCapacity,
                                float loadFactor)
        Constructs a new, empty WeakHashMap with the given initial capacity and the given load factor.
        Parameters:
        initialCapacity - The initial capacity of the WeakHashMap
        loadFactor - The load factor of the WeakHashMap
        Throws:
        IllegalArgumentException - If the initial capacity is less than zero, or if the load factor is nonpositive
      • SoftValueHashMap

        public SoftValueHashMap​(int initialCapacity)
        Constructs a new, empty WeakHashMap with the given initial capacity and the default load factor, which is 0.75.
        Parameters:
        initialCapacity - The initial capacity of the WeakHashMap
        Throws:
        IllegalArgumentException - If the initial capacity is less than zero
      • SoftValueHashMap

        public SoftValueHashMap()
        Constructs a new, empty WeakHashMap with the default initial capacity and the default load factor, which is 0.75.
      • SoftValueHashMap

        public SoftValueHashMap​(Map<K,​V> t)
        Constructs a new WeakHashMap with the same mappings as the specified Map. The WeakHashMap is created with an initial capacity of twice the number of mappings in the specified map or 11 (whichever is greater), and a default load factor, which is 0.75.
        Parameters:
        t - the map whose mappings are to be placed in this map.
    • Method Detail

      • entrySet

        public Set<Map.Entry<K,​V>> entrySet()
        Returns a set of the mappings contained in this hash table.
        Specified by:
        entrySet in interface Map<K,​V>
      • size

        public int size()
        Returns the number of key-value mappings in this map. Note: In contrast with most implementations of the Map interface, the time required by this operation is linear in the size of the map.
        Specified by:
        size in interface Map<K,​V>
      • isEmpty

        public boolean isEmpty()
        Returns true if this map contains no key-value mappings.
        Specified by:
        isEmpty in interface Map<K,​V>
      • containsKey

        public boolean containsKey​(Object key)
        Returns true if this map contains a mapping for the specified key.
        Specified by:
        containsKey in interface Map<K,​V>
        Parameters:
        key - The key whose presence in this map is to be tested.
      • get

        public V get​(Object key)
        Returns the value to which this map maps the specified key. If this map does not contain a value for this key, then return null.
        Specified by:
        get in interface Map<K,​V>
        Parameters:
        key - The key whose associated value, if any, is to be returned.
      • put

        public V put​(K key,
                     V value)
        Updates this map so that the given key maps to the given value. If the map previously contained a mapping for key then that mapping is replaced and the previous value is returned.
        Specified by:
        put in interface Map<K,​V>
        Parameters:
        key - The key that is to be mapped to the given value
        value - The value to which the given key is to be mapped
        Returns:
        The previous value to which this key was mapped, or null if if there was no mapping for the key
      • remove

        public V remove​(Object key)
        Removes the mapping for the given key from this map, if present.
        Specified by:
        remove in interface Map<K,​V>
        Parameters:
        key - The key whose mapping is to be removed.
        Returns:
        The value to which this key was mapped, or null if there was no mapping for the key.
      • clear

        public void clear()
        Removes all mappings from this map.
        Specified by:
        clear in interface Map<K,​V>
      • keySet

        public Set<K> keySet()
        Specified by:
        keySet in interface Map<K,​V>
      • putAll

        public void putAll​(Map<? extends K,​? extends V> arg0)
        Specified by:
        putAll in interface Map<K,​V>