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
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 Summary
FieldsModifier and TypeFieldDescriptionprotected byte[]
flags indicating whether each position in the hash is FREE, FULL, or REMOVEDprotected static final byte
flag indicating that a slot in the hashtable is availableprotected static final byte
flag indicating that a slot in the hashtable is occupiedprotected static final byte
flag indicating that the value of a slot in the hashtable was deletedFields inherited from class gnu.trove.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a newTHash
instance with the default capacity and load factor.TPrimitiveHash
(int initialCapacity) Creates a newTPrimitiveHash
instance with a prime capacity at or near the specified capacity and with the default load factor.TPrimitiveHash
(int initialCapacity, float loadFactor) Creates a newTPrimitiveHash
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
Methods inherited from class gnu.trove.THash
calculateGrownCapacity, clear, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, readExternal, reenableAutoCompaction, rehash, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize, writeExternal
-
Field Details
-
_states
protected transient byte[] _statesflags indicating whether each position in the hash is FREE, FULL, or REMOVED -
FREE
protected static final byte FREEflag indicating that a slot in the hashtable is available- See Also:
-
FULL
protected static final byte FULLflag indicating that a slot in the hashtable is occupied- See Also:
-
REMOVED
protected static final byte REMOVEDflag indicating that the value of a slot in the hashtable was deleted- See Also:
-
-
Constructor Details
-
TPrimitiveHash
public TPrimitiveHash()Creates a newTHash
instance with the default capacity and load factor. -
TPrimitiveHash
public TPrimitiveHash(int initialCapacity) Creates a newTPrimitiveHash
instance with a prime capacity at or near the specified capacity and with the default load factor.- Parameters:
initialCapacity
- anint
value
-
TPrimitiveHash
public TPrimitiveHash(int initialCapacity, float loadFactor) Creates a newTPrimitiveHash
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
- anint
valueloadFactor
- afloat
value
-
-
Method Details
-
clone
-
capacity
protected int capacity()Returns the capacity of the hash table. This is the true physical capacity, without adjusting for the load factor. -
removeAt
protected void removeAt(int index) Delete the record at index. -
setUp
protected int setUp(int initialCapacity) initializes the hashtable to a prime capacity which is at least initialCapacity + 1.
-