Class TShortByteHashMap

All Implemented Interfaces:
TShortByteMap, Externalizable, Serializable

public class TShortByteHashMap extends TShortByteHash implements TShortByteMap, Externalizable
An open addressed Map implementation for short keys and byte values.
See Also:
  • Field Details

    • _values

      protected transient byte[] _values
      the values of the map
  • Constructor Details

    • TShortByteHashMap

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

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

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

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

      public TShortByteHashMap(short[] keys, byte[] values)
      Creates a new TShortByteHashMap 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 byte array containing the values.
    • TShortByteHashMap

      public TShortByteHashMap(TShortByteMap map)
      Creates a new TShortByteHashMap instance containing all of the entries in the map passed in.
      Parameters:
      map - a TShortByteMap that will be duplicated.
  • Method Details

    • setUp

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

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

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

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

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

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

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

      public void clear()
      Empties the collection.
      Specified by:
      clear in interface TShortByteMap
      Overrides:
      clear in class THash
    • isEmpty

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

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

      protected void removeAt(int index)
      Releases the element currently stored at index.
      Overrides:
      removeAt in class TShortByteHash
      Parameters:
      index - an int value
    • keySet

      public TShortSet keySet()
      Returns the keys of the map as a TShortSet
      Specified by:
      keySet in interface TShortByteMap
      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 TShortByteMap
      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 TShortByteMap
      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 TByteCollection valueCollection()
      Returns the values of the map as a TByteCollection
      Specified by:
      valueCollection in interface TShortByteMap
      Returns:
      the values of the map as a TByteCollection
    • values

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

      public byte[] values(byte[] array)
      Returns the values of the map using an existing array.
      Specified by:
      values in interface TShortByteMap
      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(byte val)
      Checks for the presence of val in the values of the map.
      Specified by:
      containsValue in interface TShortByteMap
    • containsKey

      public boolean containsKey(short key)
      Checks for the present of key in the keys of the map.
      Specified by:
      containsKey in interface TShortByteMap
    • iterator

      public TShortByteIterator iterator()
      Specified by:
      iterator in interface TShortByteMap
      Returns:
      a TShortByteIterator with access to this map's keys and values
    • forEachKey

      public boolean forEachKey(TShortProcedure procedure)
      Executes procedure for each key in the map.
      Specified by:
      forEachKey in interface TShortByteMap
      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(TByteProcedure procedure)
      Executes procedure for each value in the map.
      Specified by:
      forEachValue in interface TShortByteMap
      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(TShortByteProcedure procedure)
      Executes procedure for each key/value entry in the map.
      Specified by:
      forEachEntry in interface TShortByteMap
      Parameters:
      procedure - a TOShortByteProcedure value
      Returns:
      false if the loop over the entries terminated because the procedure returned false for some entry.
    • transformValues

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

      public boolean retainEntries(TShortByteProcedure procedure)
      Retains only those entries in the map for which the procedure returns a true value.
      Specified by:
      retainEntries in interface TShortByteMap
      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 TShortByteMap
      Parameters:
      key - the key of the value to increment
      Returns:
      true if a mapping was found and modified.
    • adjustValue

      public boolean adjustValue(short key, byte amount)
      Adjusts the primitive value mapped to key.
      Specified by:
      adjustValue in interface TShortByteMap
      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 byte adjustOrPutValue(short key, byte adjust_amount, byte put_amount)
      Adjusts the primitive value mapped to the key if the key is present in the map. Otherwise, the put_amount is put in the map.
      Specified by:
      adjustOrPutValue in interface TShortByteMap
      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 present
      Returns:
      the value present in the map after the adjustment or put operation
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class TShortByteHash
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class TShortByteHash
      Throws:
      IOException
      ClassNotFoundException