Package gnu.trove

Class TDoubleIntHashMap

All Implemented Interfaces:
TDoubleHashingStrategy, Externalizable, Serializable, Cloneable

public class TDoubleIntHashMap extends TDoubleHash implements Externalizable
An open addressed Map implementation for double keys and int values. Created: Sun Nov 4 08:52:45 2001
Author:
Eric D. Friedman
See Also:
  • Field Details

    • _values

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

    • TDoubleIntHashMap

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

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

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

      public TDoubleIntHashMap(TDoubleHashingStrategy strategy)
      Creates a new TDoubleIntHashMap instance with the default capacity and load factor.
      Parameters:
      strategy - used to compute hash codes and to compare keys.
    • TDoubleIntHashMap

      public TDoubleIntHashMap(int initialCapacity, TDoubleHashingStrategy strategy)
      Creates a new TDoubleIntHashMap instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.
      Parameters:
      initialCapacity - an int value
      strategy - used to compute hash codes and to compare keys.
    • TDoubleIntHashMap

      public TDoubleIntHashMap(int initialCapacity, float loadFactor, TDoubleHashingStrategy strategy)
      Creates a new TDoubleIntHashMap instance with a prime value at or near the specified capacity and load factor.
      Parameters:
      initialCapacity - used to find a prime capacity for the table.
      loadFactor - used to calculate the threshold over which rehashing takes place.
      strategy - used to compute hash codes and to compare keys.
  • Method Details

    • clone

      public Object clone()
      Overrides:
      clone in class TDoubleHash
      Returns:
      a deep clone of this collection
    • iterator

      public TDoubleIntIterator iterator()
      Returns:
      a TDoubleIntIterator with access to this map's keys and values
    • setUp

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

      public int put(double key, int value)
      Inserts a key/value pair into the map.
      Parameters:
      key - an double value
      value - an int value
      Returns:
      the previous value associated with key, or (double)0 if none was found.
    • putIfAbsent

      public int putIfAbsent(double key, int value)
      Inserts a key/value pair into the map if the specified key is not already associated with a value.
      Parameters:
      key - an double value
      value - an int value
      Returns:
      the previous value associated with key, or (double)0 if none was found.
    • putAll

      public void putAll(TDoubleIntHashMap map)
      Put all the entries from the given map into this map.
      Parameters:
      map - The map from which entries will be obtained to put into this map.
    • rehash

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

      public int get(double key)
      retrieves the value for key
      Parameters:
      key - an double value
      Returns:
      the value of key or (double)0 if no such mapping exists.
    • clear

      public void clear()
      Empties the map.
      Overrides:
      clear in class THash
    • remove

      public int remove(double key)
      Deletes a key/value pair from the map.
      Parameters:
      key - an double value
      Returns:
      an int value, or (double)0 if no mapping for key exists
    • equals

      public boolean equals(Object other)
      Compares this map with another map for equality of their stored entries.
      Overrides:
      equals in class Object
      Parameters:
      other - an Object value
      Returns:
      a boolean value
    • hashCode

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

      protected void removeAt(int index)
      removes the mapping at index from the map.
      Overrides:
      removeAt in class TDoubleHash
      Parameters:
      index - an int value
    • getValues

      public int[] getValues()
      Returns the values of the map.
      Returns:
      a Collection value
    • keys

      public double[] keys()
      returns the keys of the map.
      Returns:
      a Set value
    • keys

      public double[] keys(double[] a)
      returns the keys of the map.
      Parameters:
      a - 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:
      a Set value
    • containsValue

      public boolean containsValue(int val)
      checks for the presence of val in the values of the map.
      Parameters:
      val - an int value
      Returns:
      a boolean value
    • containsKey

      public boolean containsKey(double key)
      checks for the present of key in the keys of the map.
      Parameters:
      key - an double value
      Returns:
      a boolean value
    • forEachKey

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

      public boolean forEachValue(TIntProcedure procedure)
      Executes procedure for each value in the map.
      Parameters:
      procedure - a TIntProcedure value
      Returns:
      false if the loop over the values terminated because the procedure returned false for some value.
    • forEachEntry

      public boolean forEachEntry(TDoubleIntProcedure procedure)
      Executes procedure for each key/value entry in the map.
      Parameters:
      procedure - a TODoubleIntProcedure value
      Returns:
      false if the loop over the entries terminated because the procedure returned false for some entry.
    • retainEntries

      public boolean retainEntries(TDoubleIntProcedure procedure)
      Retains only those entries in the map for which the procedure returns a true value.
      Parameters:
      procedure - determines which entries to keep
      Returns:
      true if the map was modified.
    • transformValues

      public void transformValues(TIntFunction function)
      Transform the values in this map using function.
      Parameters:
      function - a TIntFunction value
    • increment

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

      public boolean adjustValue(double key, int amount)
      Adjusts the primitive value mapped to key.
      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 int adjustOrPutValue(double key, int adjust_amount, int 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.
      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
      Since:
      2.0b1
    • writeExternal

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

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

      public String toString()
      Overrides:
      toString in class Object