Package gnu.trove
Class TByteHash
- java.lang.Object
-
- gnu.trove.THash
-
- gnu.trove.TPrimitiveHash
-
- gnu.trove.TByteHash
-
- All Implemented Interfaces:
TByteHashingStrategy
,java.io.Externalizable
,java.io.Serializable
,java.lang.Cloneable
- Direct Known Subclasses:
TByteByteHashMap
,TByteDoubleHashMap
,TByteFloatHashMap
,TByteHashSet
,TByteIntHashMap
,TByteLongHashMap
,TByteObjectHashMap
,TByteShortHashMap
public abstract class TByteHash extends TPrimitiveHash implements TByteHashingStrategy
An open addressed hashing implementation for byte primitives. Created: Sun Nov 4 08:56:06 2001- Version:
- $Id: PHash.template,v 1.2 2007/06/29 22:39:46 robeden Exp $
- Author:
- Eric D. Friedman
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected TByteHashingStrategy
_hashingStrategy
strategy used to hash values in this collectionprotected byte[]
_set
the set of bytes-
Fields inherited from class gnu.trove.TPrimitiveHash
_states, FREE, FULL, REMOVED
-
Fields inherited from class gnu.trove.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR
-
-
Constructor Summary
Constructors Constructor Description TByteHash()
Creates a newTByteHash
instance with the default capacity and load factor.TByteHash(int initialCapacity)
Creates a newTByteHash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.TByteHash(int initialCapacity, float loadFactor)
Creates a newTByteHash
instance with a prime value at or near the specified capacity and load factor.TByteHash(int initialCapacity, float loadFactor, TByteHashingStrategy strategy)
Creates a newTByteHash
instance with a prime value at or near the specified capacity and load factor.TByteHash(int initialCapacity, TByteHashingStrategy strategy)
Creates a newTByteHash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.TByteHash(TByteHashingStrategy strategy)
Creates a newTByteHash
instance with the default capacity and load factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
int
computeHashCode(byte val)
Default implementation of TByteHashingStrategy: delegates hashing to HashFunctions.hash(byte).boolean
contains(byte val)
Searches the set for valboolean
forEach(TByteProcedure procedure)
Executes procedure for each element in the set.protected int
index(byte val)
Locates the index of val.protected int
insertionIndex(byte val)
Locates the index at which val can be inserted.protected void
removeAt(int index)
Releases the element currently stored 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.TPrimitiveHash
capacity
-
Methods inherited from class gnu.trove.THash
calculateGrownCapacity, clear, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, readExternal, reenableAutoCompaction, rehash, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize, writeExternal
-
-
-
-
Field Detail
-
_set
protected transient byte[] _set
the set of bytes
-
_hashingStrategy
protected TByteHashingStrategy _hashingStrategy
strategy used to hash values in this collection
-
-
Constructor Detail
-
TByteHash
public TByteHash()
Creates a newTByteHash
instance with the default capacity and load factor.
-
TByteHash
public TByteHash(int initialCapacity)
Creates a newTByteHash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.- Parameters:
initialCapacity
- anint
value
-
TByteHash
public TByteHash(int initialCapacity, float loadFactor)
Creates a newTByteHash
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.
-
TByteHash
public TByteHash(TByteHashingStrategy strategy)
Creates a newTByteHash
instance with the default capacity and load factor.- Parameters:
strategy
- used to compute hash codes and to compare keys.
-
TByteHash
public TByteHash(int initialCapacity, TByteHashingStrategy strategy)
Creates a newTByteHash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.- Parameters:
initialCapacity
- anint
valuestrategy
- used to compute hash codes and to compare keys.
-
TByteHash
public TByteHash(int initialCapacity, float loadFactor, TByteHashingStrategy strategy)
Creates a newTByteHash
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 Detail
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classTPrimitiveHash
- Returns:
- a deep clone of this collection
-
setUp
protected int setUp(int initialCapacity)
initializes the hashtable to a prime capacity which is at least initialCapacity + 1.- Overrides:
setUp
in classTPrimitiveHash
- Parameters:
initialCapacity
- anint
value- Returns:
- the actual capacity chosen
-
contains
public boolean contains(byte val)
Searches the set for val- Parameters:
val
- anbyte
value- Returns:
- a
boolean
value
-
forEach
public boolean forEach(TByteProcedure procedure)
Executes procedure for each element in the set.- Parameters:
procedure
- aTObjectProcedure
value- Returns:
- false if the loop over the set terminated because the procedure returned false for some value.
-
removeAt
protected void removeAt(int index)
Releases the element currently stored at index.- Overrides:
removeAt
in classTPrimitiveHash
- Parameters:
index
- anint
value
-
index
protected int index(byte val)
Locates the index of val.- Parameters:
val
- anbyte
value- Returns:
- the index of val or -1 if it isn't in the set.
-
insertionIndex
protected int insertionIndex(byte val)
Locates the index at which val can be inserted. if there is already a value equal()ing val in the set, returns that value as a negative integer.- Parameters:
val
- anbyte
value- Returns:
- an
int
value
-
computeHashCode
public final int computeHashCode(byte val)
Default implementation of TByteHashingStrategy: delegates hashing to HashFunctions.hash(byte).- Specified by:
computeHashCode
in interfaceTByteHashingStrategy
- Parameters:
val
- the value to hash- Returns:
- the hashcode.
-
-