Class THashMap<K,​V>

  • All Implemented Interfaces:
    TMap<K,​V>, java.io.Externalizable, java.io.Serializable, java.util.Map<K,​V>

    public class THashMap<K,​V>
    extends gnu.trove.impl.hash.TObjectHash<K>
    implements TMap<K,​V>, java.io.Externalizable
    An implementation of the Map interface which uses an open addressed hash table to store its contents.

    Created: Sun Nov 4 08:52:45 2001

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  THashMap.EntryView
      a view onto the entries of the map.
      protected class  THashMap.KeyView
      a view onto the keys of the map.
      protected class  THashMap.ValueView
      a view onto the values of the map.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected V[] _values
      the values of the map
      • Fields inherited from class gnu.trove.impl.hash.TObjectHash

        _set, consumeFreeSlot, FREE, REMOVED
      • Fields inherited from class gnu.trove.impl.hash.THash

        _autoCompactionFactor, _autoCompactRemovesRemaining, _autoCompactTemporaryDisable, _free, _loadFactor, _maxSize, _size, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR
    • Constructor Summary

      Constructors 
      Constructor Description
      THashMap()
      Creates a new THashMap instance with the default capacity and load factor.
      THashMap​(int initialCapacity)
      Creates a new THashMap instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
      THashMap​(int initialCapacity, float loadFactor)
      Creates a new THashMap instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
      THashMap​(THashMap<? extends K,​? extends V> map)
      Creates a new THashMap instance which contains the key/value pairs in map.
      THashMap​(java.util.Map<? extends K,​? extends V> map)
      Creates a new THashMap instance which contains the key/value pairs in map.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Empties the map.
      boolean containsKey​(java.lang.Object key)
      checks for the present of key in the keys of the map.
      boolean containsValue​(java.lang.Object val)
      checks for the presence of val in the values of the map.
      java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
      Returns a Set view on the entries of the map.
      boolean equals​(java.lang.Object other)
      Compares this map with another map for equality of their stored entries.
      boolean forEachEntry​(TObjectObjectProcedure<? super K,​? super V> procedure)
      Executes procedure for each key/value entry in the map.
      boolean forEachKey​(TObjectProcedure<? super K> procedure)
      Executes procedure for each key in the map.
      boolean forEachValue​(TObjectProcedure<? super V> procedure)
      Executes procedure for each value in the map.
      V get​(java.lang.Object key)
      retrieves the value for key
      int hashCode()  
      java.util.Set<K> keySet()
      returns a Set view on the keys of the map.
      V put​(K key, V value)
      Inserts a key/value pair into the map.
      void putAll​(java.util.Map<? extends K,​? extends V> map)
      copies the key/value mappings in map into this map.
      V putIfAbsent​(K key, V value)
      Inserts a key/value pair into the map if the specified key is not already associated with a value.
      void readExternal​(java.io.ObjectInput in)  
      protected void rehash​(int newCapacity)
      rehashes the map to the new capacity.
      V remove​(java.lang.Object key)
      Deletes a key/value pair from the map.
      void removeAt​(int index)
      removes the mapping at index from the map.
      boolean retainEntries​(TObjectObjectProcedure<? super K,​? super V> procedure)
      Retains only those entries in the map for which the procedure returns a true value.
      int setUp​(int initialCapacity)
      initialize the value array of the map.
      java.lang.String toString()  
      void transformValues​(TObjectFunction<V,​V> function)
      Transform the values in this map using function.
      java.util.Collection<V> values()
      Returns a view on the values of the map.
      void writeExternal​(java.io.ObjectOutput out)  
      • Methods inherited from class gnu.trove.impl.hash.TObjectHash

        buildObjectContractViolation, capacity, contains, dumpExtraInfo, equals, forEach, hash, index, insertionIndex, insertKey, objectInfo, reportPotentialConcurrentMod, throwObjectContractViolation, throwObjectContractViolation
      • Methods inherited from class gnu.trove.impl.hash.THash

        calculateGrownCapacity, compact, computeMaxSize, computeNextAutoCompactionAmount, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, isEmpty, merge, remove, replace, replace, replaceAll, size
    • Field Detail

      • _values

        protected transient V[] _values
        the values of the map
    • Constructor Detail

      • THashMap

        public THashMap()
        Creates a new THashMap instance with the default capacity and load factor.
      • THashMap

        public THashMap​(int initialCapacity)
        Creates a new THashMap instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
        Parameters:
        initialCapacity - an int value
      • THashMap

        public THashMap​(int initialCapacity,
                        float loadFactor)
        Creates a new THashMap instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
        Parameters:
        initialCapacity - an int value
        loadFactor - a float value
      • THashMap

        public THashMap​(java.util.Map<? extends K,​? extends V> map)
        Creates a new THashMap instance which contains the key/value pairs in map.
        Parameters:
        map - a Map value
      • THashMap

        public THashMap​(THashMap<? extends K,​? extends V> map)
        Creates a new THashMap instance which contains the key/value pairs in map.
        Parameters:
        map - a Map value
    • Method Detail

      • setUp

        public int setUp​(int initialCapacity)
        initialize the value array of the map.
        Overrides:
        setUp in class gnu.trove.impl.hash.TObjectHash<K>
        Parameters:
        initialCapacity - an int value
        Returns:
        an int value
      • put

        public V put​(K key,
                     V value)
        Inserts a key/value pair into the map.
        Specified by:
        put in interface java.util.Map<K,​V>
        Parameters:
        key - an Object value
        value - an Object value
        Returns:
        the previous value associated with key, or null if none was found.
      • putIfAbsent

        public V putIfAbsent​(K key,
                             V value)
        Inserts a key/value pair into the map if the specified key is not already associated with a value.
        Specified by:
        putIfAbsent in interface java.util.Map<K,​V>
        Specified by:
        putIfAbsent in interface TMap<K,​V>
        Parameters:
        key - an Object value
        value - an Object value
        Returns:
        the previous value associated with key, or null if none was found.
      • equals

        public boolean equals​(java.lang.Object other)
        Compares this map with another map for equality of their stored entries.
        Specified by:
        equals in interface java.util.Map<K,​V>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - an Object value
        Returns:
        a boolean value
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.util.Map<K,​V>
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • forEachKey

        public boolean forEachKey​(TObjectProcedure<? super K> procedure)
        Executes procedure for each key in the map.
        Specified by:
        forEachKey in interface TMap<K,​V>
        Parameters:
        procedure - a TObjectProcedure value
        Returns:
        false if the loop over the keys terminated because the procedure returned false for some key.
      • forEachValue

        public boolean forEachValue​(TObjectProcedure<? super V> procedure)
        Executes procedure for each value in the map.
        Specified by:
        forEachValue in interface TMap<K,​V>
        Parameters:
        procedure - a TObjectProcedure value
        Returns:
        false if the loop over the values terminated because the procedure returned false for some value.
      • forEachEntry

        public boolean forEachEntry​(TObjectObjectProcedure<? super K,​? super V> procedure)
        Executes procedure for each key/value entry in the map.
        Specified by:
        forEachEntry in interface TMap<K,​V>
        Parameters:
        procedure - a TObjectObjectProcedure value
        Returns:
        false if the loop over the entries terminated because the procedure returned false for some entry.
      • retainEntries

        public boolean retainEntries​(TObjectObjectProcedure<? super K,​? super V> procedure)
        Retains only those entries in the map for which the procedure returns a true value.
        Specified by:
        retainEntries in interface TMap<K,​V>
        Parameters:
        procedure - determines which entries to keep
        Returns:
        true if the map was modified.
      • transformValues

        public void transformValues​(TObjectFunction<V,​V> function)
        Transform the values in this map using function.
        Specified by:
        transformValues in interface TMap<K,​V>
        Parameters:
        function - a TObjectFunction value
      • rehash

        protected void rehash​(int newCapacity)
        rehashes the map to the new capacity.
        Specified by:
        rehash in class gnu.trove.impl.hash.THash
        Parameters:
        newCapacity - an int value
      • get

        public V get​(java.lang.Object key)
        retrieves the value for key
        Specified by:
        get in interface java.util.Map<K,​V>
        Parameters:
        key - an Object value
        Returns:
        the value of key or null if no such mapping exists.
      • clear

        public void clear()
        Empties the map.
        Specified by:
        clear in interface java.util.Map<K,​V>
        Overrides:
        clear in class gnu.trove.impl.hash.THash
      • remove

        public V remove​(java.lang.Object key)
        Deletes a key/value pair from the map.
        Specified by:
        remove in interface java.util.Map<K,​V>
        Parameters:
        key - an Object value
        Returns:
        an Object value
      • removeAt

        public void removeAt​(int index)
        removes the mapping at index from the map.
        Overrides:
        removeAt in class gnu.trove.impl.hash.TObjectHash<K>
        Parameters:
        index - an int value
      • values

        public java.util.Collection<V> values()
        Returns a view on the values of the map.
        Specified by:
        values in interface java.util.Map<K,​V>
        Returns:
        a Collection value
      • keySet

        public java.util.Set<K> keySet()
        returns a Set view on the keys of the map.
        Specified by:
        keySet in interface java.util.Map<K,​V>
        Returns:
        a Set value
      • entrySet

        public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        Returns a Set view on the entries of the map.
        Specified by:
        entrySet in interface java.util.Map<K,​V>
        Returns:
        a Set value
      • containsValue

        public boolean containsValue​(java.lang.Object val)
        checks for the presence of val in the values of the map.
        Specified by:
        containsValue in interface java.util.Map<K,​V>
        Parameters:
        val - an Object value
        Returns:
        a boolean value
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        checks for the present of key in the keys of the map.
        Specified by:
        containsKey in interface java.util.Map<K,​V>
        Parameters:
        key - an Object value
        Returns:
        a boolean value
      • putAll

        public void putAll​(java.util.Map<? extends K,​? extends V> map)
        copies the key/value mappings in map into this map.
        Specified by:
        putAll in interface java.util.Map<K,​V>
        Parameters:
        map - a Map value
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class gnu.trove.impl.hash.TObjectHash<K>
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class gnu.trove.impl.hash.TObjectHash<K>
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException