gnu.trove

## Class TLongHash

- java.lang.Object
- - gnu.trove.THash
  - - gnu.trove.TPrimitiveHash
    - - gnu.trove.TLongHash

All Implemented Interfaces:
  TLongHashingStrategy, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable

Direct Known Subclasses:
  TLongByteHashMap, TLongDoubleHashMap, TLongFloatHashMap, TLongHashSet, TLongIntHashMap, TLongLongHashMap, TLongObjectHashMap, TLongShortHashMap

    public abstract class TLongHash
    extends TPrimitiveHash
    implements TLongHashingStrategy

An open addressed hashing implementation for long 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
`protected TLongHashingStrategy` `_hashingStrategy` strategy used to hash values in this collection
`protected long[]` `_set` the set of longs

### 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 and Description
`TLongHash()` Creates a new `TLongHash` instance with the default capacity and load factor.
`TLongHash(int initialCapacity)` Creates a new `TLongHash` instance whose capacity is the next highest prime above `initialCapacity + 1` unless that value is already prime.
`TLongHash(int initialCapacity, float loadFactor)` Creates a new `TLongHash` instance with a prime value at or near the specified capacity and load factor.
`TLongHash(int initialCapacity, float loadFactor, TLongHashingStrategy strategy)` Creates a new `TLongHash` instance with a prime value at or near the specified capacity and load factor.
`TLongHash(int initialCapacity, TLongHashingStrategy strategy)` Creates a new `TLongHash` instance whose capacity is the next highest prime above `initialCapacity + 1` unless that value is already prime.
`TLongHash(TLongHashingStrategy strategy)` Creates a new `TLongHash` instance with the default capacity and load factor.

### Method Summary

Methods
`java.lang.Object` `clone()`
`int` `computeHashCode(long val)` Default implementation of TLongHashingStrategy: delegates hashing to HashFunctions.hash(long).
`boolean` `contains(long val)` Searches the set for `val`
`boolean` `forEach(TLongProcedure procedure)` Executes `procedure` for each element in the set.
`protected int` `index(long val)` Locates the index of `val`.
`protected int` `insertionIndex(long 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`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### _set

    protected transient long[] _set

the set of longs

#### _hashingStrategy

    protected TLongHashingStrategy _hashingStrategy

strategy used to hash values in this collection

### Constructor Detail

#### TLongHash

    public TLongHash()

Creates a new `TLongHash` instance with the default capacity and load factor.

#### TLongHash

    public TLongHash(int initialCapacity)

Creates a new `TLongHash` instance whose capacity is the next highest prime above `initialCapacity + 1` unless that value is already prime.

Parameters:
  `initialCapacity` - an `int` value

#### TLongHash

    public TLongHash(int initialCapacity,
             float loadFactor)

Creates a new `TLongHash` 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.

#### TLongHash

    public TLongHash(TLongHashingStrategy strategy)

Creates a new `TLongHash` instance with the default capacity and load factor.

Parameters:
  `strategy` - used to compute hash codes and to compare keys.

#### TLongHash

    public TLongHash(int initialCapacity,
             TLongHashingStrategy strategy)

Creates a new `TLongHash` instance whose capacity is the next highest prime above `initialCapacity + 1` unless that value is already prime.

Parameters:
  `initialCapacity` - an `int` value
  `strategy` - used to compute hash codes and to compare keys.

#### TLongHash

    public TLongHash(int initialCapacity,
             float loadFactor,
             TLongHashingStrategy strategy)

Creates a new `TLongHash` 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 class `TPrimitiveHash`
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 class `TPrimitiveHash`
Parameters:
  `initialCapacity` - an `int` value
Returns:
  the actual capacity chosen

#### contains

    public boolean contains(long val)

Searches the set for `val`

Parameters:
  `val` - an `long` value
Returns:
  a `boolean` value

#### forEach

    public boolean forEach(TLongProcedure procedure)

Executes `procedure` for each element in the set.

Parameters:
  `procedure` - a `TObjectProcedure` 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 class `TPrimitiveHash`
Parameters:
  `index` - an `int` value

#### index

    protected int index(long val)

Locates the index of `val`.

Parameters:
  `val` - an `long` value
Returns:
  the index of `val` or -1 if it isn't in the set.

#### insertionIndex

    protected int insertionIndex(long 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` - an `long` value
Returns:
  an `int` value

#### computeHashCode

    public final int computeHashCode(long val)

Default implementation of TLongHashingStrategy: delegates hashing to HashFunctions.hash(long).

Specified by:
  `computeHashCode` in interface `TLongHashingStrategy`
Parameters:
  `val` - the value to hash
Returns:
  the hashcode.