Package gnu.trove

Class TPrimitiveHash

java.lang.Object
gnu.trove.THash
gnu.trove.TPrimitiveHash
All Implemented Interfaces:
Externalizable, Serializable, Cloneable
Direct Known Subclasses:
TByteHash, TDoubleHash, TFloatHash, TIntHash, TLongHash, TShortHash

public abstract class TPrimitiveHash extends THash
The base class for hashtables of primitive values. Since there is no notion of object equality for primitives, it isn't possible to use a `REMOVED' object to track deletions in an open-addressed table. So, we have to resort to using a parallel `bookkeeping' array of bytes, in which flags can be set to indicate that a particular slot in the hash table is FREE, FULL, or REMOVED. Created: Fri Jan 11 18:55:16 2002
Version:
$Id: TPrimitiveHash.java,v 1.5 2008/10/08 16:39:10 robeden Exp $
Author:
Eric D. Friedman
See Also:
  • Field Details

    • _states

      protected transient byte[] _states
      flags indicating whether each position in the hash is FREE, FULL, or REMOVED
    • FREE

      protected static final byte FREE
      flag indicating that a slot in the hashtable is available
      See Also:
    • FULL

      protected static final byte FULL
      flag indicating that a slot in the hashtable is occupied
      See Also:
    • REMOVED

      protected static final byte REMOVED
      flag indicating that the value of a slot in the hashtable was deleted
      See Also:
  • Constructor Details

    • TPrimitiveHash

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

      public TPrimitiveHash(int initialCapacity)
      Creates a new TPrimitiveHash instance with a prime capacity at or near the specified capacity and with the default load factor.
      Parameters:
      initialCapacity - an int value
    • TPrimitiveHash

      public TPrimitiveHash(int initialCapacity, float loadFactor)
      Creates a new TPrimitiveHash instance with a prime capacity at or near the minimum needed to hold initialCapacity elements with load factor loadFactor without triggering a rehash.
      Parameters:
      initialCapacity - an int value
      loadFactor - a float value
  • Method Details

    • clone

      public Object clone()
      Overrides:
      clone in class THash
    • capacity

      protected int capacity()
      Returns the capacity of the hash table. This is the true physical capacity, without adjusting for the load factor.
      Specified by:
      capacity in class THash
      Returns:
      the physical capacity of the hash table.
    • removeAt

      protected void removeAt(int index)
      Delete the record at index.
      Overrides:
      removeAt in class THash
      Parameters:
      index - an int value
    • setUp

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