Class TObjectIntHashMap<K>

All Implemented Interfaces:
TObjectHashingStrategy<K>, Externalizable, Serializable, Cloneable

public class TObjectIntHashMap<K> extends TObjectHash<K> implements Externalizable
An open addressed Map implementation for Object 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

    • TObjectIntHashMap

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

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

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

      public TObjectIntHashMap(TObjectHashingStrategy<K> strategy)
      Creates a new TObjectIntHashMap instance with the default capacity and load factor.
      Parameters:
      strategy - used to compute hash codes and to compare keys.
    • TObjectIntHashMap

      public TObjectIntHashMap(int initialCapacity, TObjectHashingStrategy<K> strategy)
      Creates a new TObjectIntHashMap 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.
    • TObjectIntHashMap

      public TObjectIntHashMap(int initialCapacity, float loadFactor, TObjectHashingStrategy<K> strategy)
      Creates a new TObjectIntHashMap 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

    • iterator

      public TObjectIntIterator<K> iterator()
      Returns:
      an iterator over the entries in this map
    • setUp

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

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

      public void putAll(TObjectIntHashMap<K> map)
      Copies all of the mappings from the specified map to this map These mappings will replace any mappings that this map had for any of the keys currently in the specified map.
      Parameters:
      map - mappings to be stored in this map.
      Throws:
      NullPointerException - if the specified map is null.
    • putIfAbsent

      public int putIfAbsent(K 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 Object value
      value - an int value
      Returns:
      the previous value associated with key, or (int)0 if none was found.
    • 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(K key)
      retrieves the value for key
      Parameters:
      key - an Object value
      Returns:
      the value of key or (int)0 if no such mapping exists.
    • clear

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

      public int remove(K key)
      Deletes a key/value pair from the map.
      Parameters:
      key - an Object value
      Returns:
      an int value or (int)0 if no such mapping 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
    • clone

      public TObjectIntHashMap<K> clone()
      Overrides:
      clone in class TObjectHash<K>
      Returns:
      a shallow clone of this collection
    • removeAt

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

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

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

      public K[] keys(K[] 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 runtime 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(K key)
      checks for the present of key in the keys of the map.
      Parameters:
      key - an Object value
      Returns:
      a boolean value
    • forEachKey

      public boolean forEachKey(TObjectProcedure<K> procedure)
      Executes procedure for each key in the map.
      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(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(TObjectIntProcedure<K> procedure)
      Executes procedure for each key/value entry in the map.
      Parameters:
      procedure - a TOObjectIntProcedure value
      Returns:
      false if the loop over the entries terminated because the procedure returned false for some entry.
    • retainEntries

      public boolean retainEntries(TObjectIntProcedure<K> 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(K 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(K 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(K 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 TObjectHash<K>
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class TObjectHash<K>
      Throws:
      IOException
      ClassNotFoundException