Package gnu.trove
Class TDoubleHash
- java.lang.Object
-
- gnu.trove.THash
-
- gnu.trove.TPrimitiveHash
-
- gnu.trove.TDoubleHash
-
- All Implemented Interfaces:
TDoubleHashingStrategy,java.io.Externalizable,java.io.Serializable,java.lang.Cloneable
- Direct Known Subclasses:
TDoubleByteHashMap,TDoubleDoubleHashMap,TDoubleFloatHashMap,TDoubleHashSet,TDoubleIntHashMap,TDoubleLongHashMap,TDoubleObjectHashMap,TDoubleShortHashMap
public abstract class TDoubleHash extends TPrimitiveHash implements TDoubleHashingStrategy
An open addressed hashing implementation for double 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 TDoubleHashingStrategy_hashingStrategystrategy used to hash values in this collectionprotected double[]_setthe set of doubles-
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 TDoubleHash()Creates a newTDoubleHashinstance with the default capacity and load factor.TDoubleHash(int initialCapacity)Creates a newTDoubleHashinstance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.TDoubleHash(int initialCapacity, float loadFactor)Creates a newTDoubleHashinstance with a prime value at or near the specified capacity and load factor.TDoubleHash(int initialCapacity, float loadFactor, TDoubleHashingStrategy strategy)Creates a newTDoubleHashinstance with a prime value at or near the specified capacity and load factor.TDoubleHash(int initialCapacity, TDoubleHashingStrategy strategy)Creates a newTDoubleHashinstance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.TDoubleHash(TDoubleHashingStrategy strategy)Creates a newTDoubleHashinstance with the default capacity and load factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()intcomputeHashCode(double val)Default implementation of TDoubleHashingStrategy: delegates hashing to HashFunctions.hash(double).booleancontains(double val)Searches the set for valbooleanforEach(TDoubleProcedure procedure)Executes procedure for each element in the set.protected intindex(double val)Locates the index of val.protected intinsertionIndex(double val)Locates the index at which val can be inserted.protected voidremoveAt(int index)Releases the element currently stored at index.protected intsetUp(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 double[] _set
the set of doubles
-
_hashingStrategy
protected TDoubleHashingStrategy _hashingStrategy
strategy used to hash values in this collection
-
-
Constructor Detail
-
TDoubleHash
public TDoubleHash()
Creates a newTDoubleHashinstance with the default capacity and load factor.
-
TDoubleHash
public TDoubleHash(int initialCapacity)
Creates a newTDoubleHashinstance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.- Parameters:
initialCapacity- anintvalue
-
TDoubleHash
public TDoubleHash(int initialCapacity, float loadFactor)Creates a newTDoubleHashinstance 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.
-
TDoubleHash
public TDoubleHash(TDoubleHashingStrategy strategy)
Creates a newTDoubleHashinstance with the default capacity and load factor.- Parameters:
strategy- used to compute hash codes and to compare keys.
-
TDoubleHash
public TDoubleHash(int initialCapacity, TDoubleHashingStrategy strategy)Creates a newTDoubleHashinstance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.- Parameters:
initialCapacity- anintvaluestrategy- used to compute hash codes and to compare keys.
-
TDoubleHash
public TDoubleHash(int initialCapacity, float loadFactor, TDoubleHashingStrategy strategy)Creates a newTDoubleHashinstance 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:
clonein 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:
setUpin classTPrimitiveHash- Parameters:
initialCapacity- anintvalue- Returns:
- the actual capacity chosen
-
contains
public boolean contains(double val)
Searches the set for val- Parameters:
val- andoublevalue- Returns:
- a
booleanvalue
-
forEach
public boolean forEach(TDoubleProcedure procedure)
Executes procedure for each element in the set.- Parameters:
procedure- aTObjectProcedurevalue- 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:
removeAtin classTPrimitiveHash- Parameters:
index- anintvalue
-
index
protected int index(double val)
Locates the index of val.- Parameters:
val- andoublevalue- Returns:
- the index of val or -1 if it isn't in the set.
-
insertionIndex
protected int insertionIndex(double 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- andoublevalue- Returns:
- an
intvalue
-
computeHashCode
public final int computeHashCode(double val)
Default implementation of TDoubleHashingStrategy: delegates hashing to HashFunctions.hash(double).- Specified by:
computeHashCodein interfaceTDoubleHashingStrategy- Parameters:
val- the value to hash- Returns:
- the hashcode.
-
-