Class SoftValueHashMap<K,​V>

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

    public class SoftValueHashMap<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
      SoftValueHashMap()
      Constructs a new, empty SoftValueHashMap with the default initial capacity and the default load factor, which is 0.75.
      SoftValueHashMap​(int initialCapacity)
      Constructs a new, empty SoftValueHashMap with the given initial capacity and the default load factor, which is 0.75.
      SoftValueHashMap​(int initialCapacity, float loadFactor)
      Constructs a new, empty SoftValueHashMap with the given initial capacity and the given load factor.
      SoftValueHashMap​(java.util.Map<K,​V> t)
      Constructs a new SoftValueHashMap with the same mappings as the specified Map.
    • Constructor Detail

      • SoftValueHashMap

        public SoftValueHashMap​(int initialCapacity,
                                float loadFactor)
        Constructs a new, empty SoftValueHashMap with the given initial capacity and the given load factor.
        Parameters:
        initialCapacity - The initial capacity of the SoftValueHashMap
        loadFactor - The load factor of the SoftValueHashMap
        Throws:
        java.lang.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 SoftValueHashMap with the given initial capacity and the default load factor, which is 0.75.
        Parameters:
        initialCapacity - The initial capacity of the SoftValueHashMap
        Throws:
        java.lang.IllegalArgumentException - If the initial capacity is less than zero
      • SoftValueHashMap

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

        public SoftValueHashMap​(java.util.Map<K,​V> t)
        Constructs a new SoftValueHashMap with the same mappings as the specified Map. The SoftValueHashMap 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