Package gnu.trove.impl.hash
Class TByteLongHash
- java.lang.Object
-
- gnu.trove.impl.hash.THash
-
- gnu.trove.impl.hash.TPrimitiveHash
-
- gnu.trove.impl.hash.TByteLongHash
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
- Direct Known Subclasses:
TByteLongHashMap
public abstract class TByteLongHash extends TPrimitiveHash
An open addressed hashing implementation for byte/long primitive entries. Created: Sun Nov 4 08:56:06 2001- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description byte[]
_set
the set of bytesprotected boolean
consumeFreeSlot
protected byte
no_entry_key
key that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalizationprotected long
no_entry_value
value that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalization-
Fields inherited from class gnu.trove.impl.hash.TPrimitiveHash
_states, FREE, FULL, REMOVED
-
Fields inherited from class gnu.trove.impl.hash.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _autoCompactTemporaryDisable, _free, _loadFactor, _maxSize, _size, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR
-
-
Constructor Summary
Constructors Constructor Description TByteLongHash()
Creates a newT#E#Hash
instance with the default capacity and load factor.TByteLongHash(int initialCapacity)
Creates a newT#E#Hash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.TByteLongHash(int initialCapacity, float loadFactor)
Creates a newTByteLongHash
instance with a prime value at or near the specified capacity and load factor.TByteLongHash(int initialCapacity, float loadFactor, byte no_entry_key, long no_entry_value)
Creates a newTByteLongHash
instance with a prime value at or near the specified capacity and load factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(byte val)
Searches the set for valboolean
forEach(TByteProcedure procedure)
Executes procedure for each key in the map.byte
getNoEntryKey()
Returns the value that is used to represent null as a key.long
getNoEntryValue()
Returns the value that is used to represent null.protected int
index(byte key)
Locates the index of val.protected int
insertKey(byte val)
Locates the index at which val can be inserted.void
readExternal(java.io.ObjectInput in)
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.void
writeExternal(java.io.ObjectOutput out)
protected int
XinsertKey(byte key)
-
Methods inherited from class gnu.trove.impl.hash.TPrimitiveHash
capacity
-
Methods inherited from class gnu.trove.impl.hash.THash
calculateGrownCapacity, clear, compact, computeMaxSize, computeNextAutoCompactionAmount, ensureCapacity, fastCeil, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, rehash, saturatedCast, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
-
-
-
-
Field Detail
-
_set
public transient byte[] _set
the set of bytes
-
no_entry_key
protected byte no_entry_key
key that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalization
-
no_entry_value
protected long no_entry_value
value that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalization
-
consumeFreeSlot
protected boolean consumeFreeSlot
-
-
Constructor Detail
-
TByteLongHash
public TByteLongHash()
Creates a newT#E#Hash
instance with the default capacity and load factor.
-
TByteLongHash
public TByteLongHash(int initialCapacity)
Creates a newT#E#Hash
instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.- Parameters:
initialCapacity
- anint
value
-
TByteLongHash
public TByteLongHash(int initialCapacity, float loadFactor)
Creates a newTByteLongHash
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.
-
TByteLongHash
public TByteLongHash(int initialCapacity, float loadFactor, byte no_entry_key, long no_entry_value)
Creates a newTByteLongHash
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.no_entry_value
- value that represents null
-
-
Method Detail
-
getNoEntryKey
public byte getNoEntryKey()
Returns the value that is used to represent null as a key. The default value is generally zero, but can be changed during construction of the collection.- Returns:
- the value that represents null
-
getNoEntryValue
public long getNoEntryValue()
Returns the value that is used to represent null. The default value is generally zero, but can be changed during construction of the collection.- Returns:
- the value that represents null
-
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 key in the map.- Parameters:
procedure
- aTByteProcedure
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 key)
Locates the index of val.- Parameters:
key
- anbyte
value- Returns:
- the index of val or -1 if it isn't in the set.
-
insertKey
protected int insertKey(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
-
XinsertKey
protected int XinsertKey(byte key)
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classTHash
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classTHash
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-