Class TShortLongHashMap

  • All Implemented Interfaces:
    TShortLongMap, java.io.Externalizable, java.io.Serializable

    public class TShortLongHashMap
    extends gnu.trove.impl.hash.TShortLongHash
    implements TShortLongMap, java.io.Externalizable
    An open addressed Map implementation for short keys and long values.
    See Also:
    Serialized Form
    • Field Summary

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

        _set, consumeFreeSlot, no_entry_key, no_entry_value
      • Fields inherited from class gnu.trove.impl.hash.TPrimitiveHash

        _states, FREE, FULL, 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
      TShortLongHashMap()
      Creates a new TShortLongHashMap instance with the default capacity and load factor.
      TShortLongHashMap​(int initialCapacity)
      Creates a new TShortLongHashMap instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
      TShortLongHashMap​(int initialCapacity, float loadFactor)
      Creates a new TShortLongHashMap instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
      TShortLongHashMap​(int initialCapacity, float loadFactor, short noEntryKey, long noEntryValue)
      Creates a new TShortLongHashMap instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
      TShortLongHashMap​(short[] keys, long[] values)
      Creates a new TShortLongHashMap instance containing all of the entries in the map passed in.
      TShortLongHashMap​(TShortLongMap map)
      Creates a new TShortLongHashMap instance containing all of the entries in the map passed in.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long adjustOrPutValue​(short key, long adjust_amount, long put_amount)
      Adjusts the primitive value mapped to the key if the key is present in the map.
      boolean adjustValue​(short key, long amount)
      Adjusts the primitive value mapped to key.
      void clear()
      Empties the collection.
      boolean containsKey​(short key)
      Checks for the present of key in the keys of the map.
      boolean containsValue​(long val)
      Checks for the presence of val in the values of the map.
      boolean equals​(java.lang.Object other)
      boolean forEachEntry​(TShortLongProcedure procedure)
      Executes procedure for each key/value entry in the map.
      boolean forEachKey​(TShortProcedure procedure)
      Executes procedure for each key in the map.
      boolean forEachValue​(TLongProcedure procedure)
      Executes procedure for each value in the map.
      long get​(short key)
      Retrieves the value for key
      int hashCode()
      boolean increment​(short key)
      Increments the primitive value mapped to key by 1
      boolean isEmpty()
      Tells whether this set is currently holding any elements.
      TShortLongIterator iterator()
      short[] keys()
      Returns the keys of the map as an array of short values.
      short[] keys​(short[] array)
      Returns the keys of the map.
      TShortSet keySet()
      Returns the keys of the map as a TShortSet
      long put​(short key, long value)
      Inserts a key/value pair into the map.
      void putAll​(TShortLongMap map)
      Put all the entries from the given map into this map.
      void putAll​(java.util.Map<? extends java.lang.Short,​? extends java.lang.Long> map)
      Put all the entries from the given Map into this map.
      long putIfAbsent​(short key, long 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 set.
      long remove​(short key)
      Deletes a key/value pair from the map.
      protected void removeAt​(int index)
      Releases the element currently stored at index.
      boolean retainEntries​(TShortLongProcedure procedure)
      Retains only those entries in the map for which the procedure returns a true value.
      protected int setUp​(int initialCapacity)
      initializes the hashtable to a prime capacity which is at least initialCapacity + 1.
      java.lang.String toString()
      void transformValues​(TLongFunction function)
      Transform the values in this map using function.
      TLongCollection valueCollection()
      Returns the values of the map as a TLongCollection
      long[] values()
      Returns the values of the map as an array of #e# values.
      long[] values​(long[] array)
      Returns the values of the map using an existing array.
      void writeExternal​(java.io.ObjectOutput out)
      • Methods inherited from class gnu.trove.impl.hash.TShortLongHash

        contains, forEach, getNoEntryKey, getNoEntryValue, index, insertKey, XinsertKey
      • Methods inherited from class gnu.trove.impl.hash.TPrimitiveHash

        capacity
      • Methods inherited from class gnu.trove.impl.hash.THash

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

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • _values

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

      • TShortLongHashMap

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

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

        public TShortLongHashMap​(int initialCapacity,
                                 float loadFactor)
        Creates a new TShortLongHashMap 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
      • TShortLongHashMap

        public TShortLongHashMap​(int initialCapacity,
                                 float loadFactor,
                                 short noEntryKey,
                                 long noEntryValue)
        Creates a new TShortLongHashMap 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
        noEntryKey - a short value that represents null for the Key set.
        noEntryValue - a long value that represents null for the Value set.
      • TShortLongHashMap

        public TShortLongHashMap​(short[] keys,
                                 long[] values)
        Creates a new TShortLongHashMap instance containing all of the entries in the map passed in.
        Parameters:
        keys - a short array containing the keys for the matching values.
        values - a long array containing the values.
      • TShortLongHashMap

        public TShortLongHashMap​(TShortLongMap map)
        Creates a new TShortLongHashMap instance containing all of the entries in the map passed in.
        Parameters:
        map - a TShortLongMap that will be duplicated.
    • Method Detail

      • setUp

        protected int setUp​(int initialCapacity)
        initializes the hashtable to a prime capacity which is at least initialCapacity + 1.
        Overrides:
        setUp in class gnu.trove.impl.hash.TShortLongHash
        Parameters:
        initialCapacity - an int value
        Returns:
        the actual capacity chosen
      • rehash

        protected void rehash​(int newCapacity)
        Rehashes the set.
        Specified by:
        rehash in class gnu.trove.impl.hash.THash
        Parameters:
        newCapacity - an int value
      • put

        public long put​(short key,
                        long value)
        Inserts a key/value pair into the map.
        Specified by:
        put in interface TShortLongMap
        Parameters:
        key - an short value
        value - an long value
        Returns:
        the previous value associated with key, or the "no entry" value if none was found (see TShortLongMap.getNoEntryValue()).
      • putIfAbsent

        public long putIfAbsent​(short key,
                                long 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 TShortLongMap
        Parameters:
        key - an short value
        value - an long value
        Returns:
        the previous value associated with key, or the "no entry" value if none was found (see TShortLongMap.getNoEntryValue()).
      • putAll

        public void putAll​(java.util.Map<? extends java.lang.Short,​? extends java.lang.Long> map)
        Put all the entries from the given Map into this map.
        Specified by:
        putAll in interface TShortLongMap
        Parameters:
        map - The Map from which entries will be obtained to put into this map.
      • putAll

        public void putAll​(TShortLongMap map)
        Put all the entries from the given map into this map.
        Specified by:
        putAll in interface TShortLongMap
        Parameters:
        map - The map from which entries will be obtained to put into this map.
      • get

        public long get​(short key)
        Retrieves the value for key
        Specified by:
        get in interface TShortLongMap
        Parameters:
        key - an short value
        Returns:
        the previous value associated with key, or the "no entry" value if none was found (see TShortLongMap.getNoEntryValue()).
      • clear

        public void clear()
        Empties the collection.
        Specified by:
        clear in interface TShortLongMap
        Overrides:
        clear in class gnu.trove.impl.hash.THash
      • isEmpty

        public boolean isEmpty()
        Tells whether this set is currently holding any elements.
        Specified by:
        isEmpty in interface TShortLongMap
        Overrides:
        isEmpty in class gnu.trove.impl.hash.THash
        Returns:
        a boolean value
      • remove

        public long remove​(short key)
        Deletes a key/value pair from the map.
        Specified by:
        remove in interface TShortLongMap
        Parameters:
        key - an short value
        Returns:
        the previous value associated with key, or the "no entry" value if none was found (see TShortLongMap.getNoEntryValue()).
      • removeAt

        protected void removeAt​(int index)
        Releases the element currently stored at index.
        Overrides:
        removeAt in class gnu.trove.impl.hash.TShortLongHash
        Parameters:
        index - an int value
      • keySet

        public TShortSet keySet()
        Returns the keys of the map as a TShortSet
        Specified by:
        keySet in interface TShortLongMap
        Returns:
        the keys of the map as a TShortSet
      • keys

        public short[] keys()
        Returns the keys of the map as an array of short values.
        Specified by:
        keys in interface TShortLongMap
        Returns:
        the keys of the map as an array of short values.
      • keys

        public short[] keys​(short[] array)
        Returns the keys of the map.
        Specified by:
        keys in interface TShortLongMap
        Parameters:
        array - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same type is allocated for this purpose.
        Returns:
        the keys of the map as an array.
      • valueCollection

        public TLongCollection valueCollection()
        Returns the values of the map as a TLongCollection
        Specified by:
        valueCollection in interface TShortLongMap
        Returns:
        the values of the map as a TLongCollection
      • values

        public long[] values()
        Returns the values of the map as an array of #e# values.
        Specified by:
        values in interface TShortLongMap
        Returns:
        the values of the map as an array of #e# values.
      • values

        public long[] values​(long[] array)
        Returns the values of the map using an existing array.
        Specified by:
        values in interface TShortLongMap
        Parameters:
        array - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same type is allocated for this purpose.
        Returns:
        the values of the map as an array of #e# values.
      • containsValue

        public boolean containsValue​(long val)
        Checks for the presence of val in the values of the map.
        Specified by:
        containsValue in interface TShortLongMap
        Parameters:
        val - an long value
        Returns:
        a boolean value
      • containsKey

        public boolean containsKey​(short key)
        Checks for the present of key in the keys of the map.
        Specified by:
        containsKey in interface TShortLongMap
        Parameters:
        key - an short value
        Returns:
        a boolean value
      • forEachKey

        public boolean forEachKey​(TShortProcedure procedure)
        Executes procedure for each key in the map.
        Specified by:
        forEachKey in interface TShortLongMap
        Parameters:
        procedure - a TShortProcedure value
        Returns:
        false if the loop over the keys terminated because the procedure returned false for some key.
      • forEachValue

        public boolean forEachValue​(TLongProcedure procedure)
        Executes procedure for each value in the map.
        Specified by:
        forEachValue in interface TShortLongMap
        Parameters:
        procedure - a T#F#Procedure value
        Returns:
        false if the loop over the values terminated because the procedure returned false for some value.
      • forEachEntry

        public boolean forEachEntry​(TShortLongProcedure procedure)
        Executes procedure for each key/value entry in the map.
        Specified by:
        forEachEntry in interface TShortLongMap
        Parameters:
        procedure - a TOShortLongProcedure value
        Returns:
        false if the loop over the entries terminated because the procedure returned false for some entry.
      • transformValues

        public void transformValues​(TLongFunction function)
        Transform the values in this map using function.
        Specified by:
        transformValues in interface TShortLongMap
        Parameters:
        function - a TLongFunction value
      • retainEntries

        public boolean retainEntries​(TShortLongProcedure procedure)
        Retains only those entries in the map for which the procedure returns a true value.
        Specified by:
        retainEntries in interface TShortLongMap
        Parameters:
        procedure - determines which entries to keep
        Returns:
        true if the map was modified.
      • increment

        public boolean increment​(short key)
        Increments the primitive value mapped to key by 1
        Specified by:
        increment in interface TShortLongMap
        Parameters:
        key - the key of the value to increment
        Returns:
        true if a mapping was found and modified.
      • adjustValue

        public boolean adjustValue​(short key,
                                   long amount)
        Adjusts the primitive value mapped to key.
        Specified by:
        adjustValue in interface TShortLongMap
        Parameters:
        key - the key of the value to increment
        amount - the amount to adjust the value by.
        Returns:
        true if a mapping was found and modified.
      • adjustOrPutValue

        public long adjustOrPutValue​(short key,
                                     long adjust_amount,
                                     long put_amount)
        Adjusts the primitive value mapped to the key if the key is present in the map. Otherwise, the initial_value is put in the map.
        Specified by:
        adjustOrPutValue in interface TShortLongMap
        Parameters:
        key - the key of the value to increment
        adjust_amount - the amount to adjust the value by
        put_amount - the value put into the map if the key is not initial present
        Returns:
        the value present in the map after the adjustment or put operation
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • 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.TShortLongHash
        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.TShortLongHash
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException