Class WeakValueHashMap<K,​V>

  • Type Parameters:
    K - the key type
    V - the value type
    All Implemented Interfaces:
    java.util.Map<K,​V>

    public class WeakValueHashMap<K,​V>
    extends ReferenceValueHashMap<K,​V>
    This Map will remove entries when the value in the map has been cleaned from garbage collection
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Constructor Summary

      Constructors 
      Constructor Description
      WeakValueHashMap()
      Constructs a new, empty WeakValueHashMap with the default initial capacity and the default load factor, which is 0.75.
      WeakValueHashMap​(int initialCapacity)
      Constructs a new, empty WeakValueHashMap with the given initial capacity and the default load factor, which is 0.75.
      WeakValueHashMap​(int initialCapacity, float loadFactor)
      Constructs a new, empty WeakValueHashMap with the given initial capacity and the given load factor.
      WeakValueHashMap​(java.util.Map<K,​V> t)
      Constructs a new WeakValueHashMap with the same mappings as the specified Map.
    • Constructor Detail

      • WeakValueHashMap

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

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

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

        public WeakValueHashMap​(java.util.Map<K,​V> t)
        Constructs a new WeakValueHashMap with the same mappings as the specified Map. The WeakValueHashMap 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.
        Since:
        1.3
    • Method Detail

      • create

        protected ValueRef<K,​V> create​(K key,
                                             V value,
                                             java.lang.ref.ReferenceQueue<V> q)
        Description copied from class: ReferenceValueMap
        Create new value ref instance.
        Specified by:
        create in class ReferenceValueMap<K,​V>
        Parameters:
        key - the key
        value - the value
        q - the ref queue
        Returns:
        new value ref instance