public final class LongHash
extends java.lang.Object
BigArrays and capacity is always
a multiple of 2 for faster identification of buckets.
This class is not thread-safe.| Constructor and Description |
|---|
LongHash(long capacity,
BigArrays bigArrays) |
LongHash(long capacity,
float maxLoadFactor,
BigArrays bigArrays) |
| Modifier and Type | Method and Description |
|---|---|
long |
add(long key)
Try to add
key. |
long |
capacity()
Return the number of allocated slots to store this hash table.
|
void |
close() |
long |
find(long key)
Get the id associated with
key or -1 if the key is not contained in the hash. |
long |
get(long id)
Return the key at
0 <= index <= capacity(). |
protected void |
grow() |
long |
id(long index)
Get the id associated with key at
0 <= index <= capacity() or -1 if this slot is unused. |
protected long |
id(long index,
long id) |
protected void |
removeAndAdd(long index)
Remove the entry at the given index and add it back
|
protected void |
resize(long capacity)
Resize to the given capacity.
|
long |
size()
Return the number of longs in this hash table.
|
protected boolean |
used(long bucket) |
public LongHash(long capacity,
BigArrays bigArrays)
public LongHash(long capacity,
float maxLoadFactor,
BigArrays bigArrays)
public long get(long id)
0 <= index <= capacity(). The result is undefined if the slot is unused.public long find(long key)
key or -1 if the key is not contained in the hash.public long add(long key)
key. Return its newly allocated id if it wasn't in the hash table yet, or -1-id
if it was already present in the hash table.protected void removeAndAdd(long index)
public void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in interface Releasablepublic long id(long index)
0 <= index <= capacity() or -1 if this slot is unused.protected final long id(long index,
long id)
protected void resize(long capacity)
protected boolean used(long bucket)
public long capacity()
public long size()
protected final void grow()