TObjectHashingStrategy<T>
, java.io.Serializable
THashMap
, THashSet
, TObjectByteHashMap
, TObjectDoubleHashMap
, TObjectFloatHashMap
, TObjectIntHashMap
, TObjectLongHashMap
, TObjectShortHashMap
public abstract class TObjectHash<T> extends THash implements TObjectHashingStrategy<T>
Modifier and Type | Field | Description |
---|---|---|
protected TObjectHashingStrategy<T> |
_hashingStrategy |
the strategy used to hash objects in this collection.
|
protected java.lang.Object[] |
_set |
the set of Objects
|
protected static java.lang.Object |
FREE |
|
protected static java.lang.Object |
REMOVED |
_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR
Constructor | Description |
---|---|
TObjectHash() |
Creates a new
TObjectHash instance with the
default capacity and load factor. |
TObjectHash(int initialCapacity) |
Creates a new
TObjectHash instance whose capacity
is the next highest prime above initialCapacity + 1
unless that value is already prime. |
TObjectHash(int initialCapacity,
float loadFactor) |
Creates a new
TObjectHash instance with a prime
value at or near the specified capacity and load factor. |
TObjectHash(int initialCapacity,
float loadFactor,
TObjectHashingStrategy<T> strategy) |
Creates a new
TObjectHash instance with a prime
value at or near the specified capacity and load factor. |
TObjectHash(int initialCapacity,
TObjectHashingStrategy<T> strategy) |
Creates a new
TObjectHash instance whose capacity
is the next highest prime above initialCapacity + 1
unless that value is already prime. |
TObjectHash(TObjectHashingStrategy<T> strategy) |
Creates a new
TObjectHash instance with the
default capacity and load factor and a custom hashing strategy. |
Modifier and Type | Method | Description |
---|---|---|
protected int |
capacity() |
|
TObjectHash<T> |
clone() |
|
int |
computeHashCode(T o) |
This is the default implementation of TObjectHashingStrategy:
it delegates hashing to the Object's hashCode method.
|
boolean |
contains(java.lang.Object obj) |
Searches the set for obj
|
boolean |
equals(T o1,
T o2) |
This is the default implementation of TObjectHashingStrategy:
it delegates equality comparisons to the first parameter's
equals() method.
|
boolean |
forEach(TObjectProcedure<T> procedure) |
Executes procedure for each element in the set.
|
protected int |
index(T obj) |
Locates the index of obj.
|
protected int |
insertionIndex(T obj) |
Locates the index at which obj can be inserted.
|
void |
readExternal(java.io.ObjectInput in) |
|
protected void |
removeAt(int index) |
Delete the record at index.
|
protected int |
setUp(int initialCapacity) |
initializes the Object set of this hash table.
|
protected void |
throwObjectContractViolation(java.lang.Object o1,
java.lang.Object o2) |
Convenience methods for subclasses to use in throwing exceptions about
badly behaved user objects employed as keys.
|
void |
writeExternal(java.io.ObjectOutput out) |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
calculateGrownCapacity, clear, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, rehash, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
protected transient java.lang.Object[] _set
protected TObjectHashingStrategy<T> _hashingStrategy
protected static final java.lang.Object REMOVED
protected static final java.lang.Object FREE
public TObjectHash()
TObjectHash
instance with the
default capacity and load factor.public TObjectHash(TObjectHashingStrategy<T> strategy)
TObjectHash
instance with the
default capacity and load factor and a custom hashing strategy.strategy
- used to compute hash codes and to compare objects.public TObjectHash(int initialCapacity)
TObjectHash
instance whose capacity
is the next highest prime above initialCapacity + 1
unless that value is already prime.initialCapacity
- an int
valuepublic TObjectHash(int initialCapacity, TObjectHashingStrategy<T> strategy)
TObjectHash
instance whose capacity
is the next highest prime above initialCapacity + 1
unless that value is already prime. Uses the specified custom
hashing strategy.initialCapacity
- an int
valuestrategy
- used to compute hash codes and to compare objects.public TObjectHash(int initialCapacity, float loadFactor)
TObjectHash
instance with a prime
value at or near the specified capacity and load factor.initialCapacity
- used to find a prime capacity for the table.loadFactor
- used to calculate the threshold over which
rehashing takes place.public TObjectHash(int initialCapacity, float loadFactor, TObjectHashingStrategy<T> strategy)
TObjectHash
instance with a prime
value at or near the specified capacity and load factor. Uses
the specified custom hashing strategy.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 objects.public TObjectHash<T> clone()
protected int capacity()
protected void removeAt(int index)
THash
protected int setUp(int initialCapacity)
public boolean forEach(TObjectProcedure<T> procedure)
procedure
- a TObjectProcedure
valuepublic boolean contains(java.lang.Object obj)
obj
- an Object
valueboolean
valueprotected int index(T obj)
obj
- an Object
valueprotected int insertionIndex(T obj)
obj
- an Object
valuepublic final int computeHashCode(T o)
computeHashCode
in interface TObjectHashingStrategy<T>
o
- for which the hashcode is to be computedObject.hashCode()
public final boolean equals(T o1, T o2)
equals
in interface TObjectHashingStrategy<T>
o1
- an Object
valueo2
- an Object
valueObject.equals(Object)
protected final void throwObjectContractViolation(java.lang.Object o1, java.lang.Object o2) throws java.lang.IllegalArgumentException
o1
- the first of the equal elements with unequal hash codes.o2
- the second of the equal elements with unequal hash codes.java.lang.IllegalArgumentException
- the whole point of this method.public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in class THash
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in class THash
java.io.IOException
java.lang.ClassNotFoundException
GNU Trove is copyright ? 2001-2009 Eric D. Friedman. All Rights Reserved.