GNU Trove

## gnu.trove
Class TPrimitiveHash

    java.lang.Object
      gnu.trove.THash
          gnu.trove.TPrimitiveHash

All Implemented Interfaces:
  java.io.Externalizable, java.io.Serializable, java.lang.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:
  Serialized Form

Field Summary
`protected byte[]` `_states` flags indicating whether each position in the hash is FREE, FULL, or REMOVED
`protected static byte` `FREE` flag indicating that a slot in the hashtable is available
`protected static byte` `FULL` flag indicating that a slot in the hashtable is occupied
`protected static byte` `REMOVED` flag indicating that the value of a slot in the hashtable was deleted

Fields inherited from class gnu.trove.THash
`_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR`

Constructor Summary
`TPrimitiveHash()` Creates a new `THash` instance with the default capacity and load factor.
`TPrimitiveHash(int initialCapacity)` Creates a new `TPrimitiveHash` instance with a prime capacity at or near the specified capacity and with the default load factor.
`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.``

Method Summary
`protected int` `capacity()` Returns the capacity of the hash table.
`java.lang.Object` `clone()`
`protected void` `removeAt(int index)` Delete the record at `index`.
`protected int` `setUp(int initialCapacity)` initializes the hashtable to a prime capacity which is at least `initialCapacity + 1`.

Methods inherited from class gnu.trove.THash
`calculateGrownCapacity, clear, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, readExternal, reenableAutoCompaction, rehash, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize, writeExternal`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _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:
    Constant Field Values

### FULL

    protected static final byte FULL

  flag indicating that a slot in the hashtable is occupied

  See Also:
    Constant Field Values

### REMOVED

    protected static final byte REMOVED

  flag indicating that the value of a slot in the hashtable was deleted

  See Also:
    Constant Field Values

Constructor Detail

### 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 Detail

### clone

    public java.lang.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

GNU Trove

GNU Trove is copyright © 2001-2009 Eric D. Friedman. All Rights Reserved.