|
PCJ API Version 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bak.pcj.AbstractLongCollection bak.pcj.set.AbstractLongSet bak.pcj.set.LongChainedHashSet
This class represents chained hash table based sets of long values. Unlike the Java Collections HashSet instances of this class are not backed up by a map. It is implemented using a simple chained hash table where the keys are stored directly as entries.
LongOpenHashSet
,
HashSet
,
Serialized FormField Summary | |
static int |
DEFAULT_CAPACITY
The default capacity of this set. |
static int |
DEFAULT_GROWTH_CHUNK
The default chunk size with which to increase the capacity of this set. |
static double |
DEFAULT_GROWTH_FACTOR
The default factor with which to increase the capacity of this set. |
static double |
DEFAULT_LOAD_FACTOR
The default load factor of this set. |
Constructor Summary | |
LongChainedHashSet()
Creates a new hash set with capacity 11, a relative growth factor of 1.0, and a load factor of 75%. |
|
LongChainedHashSet(double loadFactor)
Creates a new hash set with a capacity of 11, a relative growth factor of 1.0, and a specified load factor. |
|
LongChainedHashSet(int capacity)
Creates a new hash set with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%. |
|
LongChainedHashSet(int capacity,
double loadFactor)
Creates a new hash set with a specified capacity and load factor, and a relative growth factor of 1.0. |
|
LongChainedHashSet(int capacity,
double loadFactor,
double growthFactor)
Creates a new hash set with a specified capacity, load factor, and relative growth factor. |
|
LongChainedHashSet(int capacity,
double loadFactor,
int growthChunk)
Creates a new hash set with a specified capacity, load factor, and absolute growth factor. |
|
LongChainedHashSet(long[] a)
Creates a new hash set with the same elements as the specified array. |
|
LongChainedHashSet(LongCollection c)
Creates a new hash set with the same elements as a specified collection. |
|
LongChainedHashSet(LongHashFunction keyhash)
Creates a new hash set with capacity 11, a relative growth factor of 1.0, and a load factor of 75%. |
|
LongChainedHashSet(LongHashFunction keyhash,
double loadFactor)
Creates a new hash set with a capacity of 11, a relative growth factor of 1.0, and a specified load factor. |
|
LongChainedHashSet(LongHashFunction keyhash,
int capacity)
Creates a new hash set with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%. |
|
LongChainedHashSet(LongHashFunction keyhash,
int capacity,
double loadFactor)
Creates a new hash set with a specified capacity and load factor, and a relative growth factor of 1.0. |
|
LongChainedHashSet(LongHashFunction keyhash,
int capacity,
double loadFactor,
double growthFactor)
Creates a new hash set with a specified capacity, load factor, and relative growth factor. |
|
LongChainedHashSet(LongHashFunction keyhash,
int capacity,
double loadFactor,
int growthChunk)
Creates a new hash set with a specified capacity, load factor, and absolute growth factor. |
Method Summary | |
boolean |
add(long v)
Adds an element to this collection. |
void |
clear()
Clears this collection. |
Object |
clone()
Returns a clone of this hash set. |
boolean |
contains(long v)
Indicates whether this collection contains a specified element. |
int |
hashCode()
Returns a hash code value for this collection. |
LongIterator |
iterator()
Returns an iterator over this collection. |
boolean |
remove(long v)
Removes a specified element from this collection. |
int |
size()
Returns the number of elements in this collection. |
long[] |
toArray(long[] a)
Returns the elements of this collection as an array. |
void |
trimToSize()
Minimizes the memory used by this collection. |
Methods inherited from class bak.pcj.set.AbstractLongSet |
equals |
Methods inherited from class bak.pcj.AbstractLongCollection |
addAll, containsAll, isEmpty, removeAll, retainAll, toArray, toString |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface bak.pcj.LongCollection |
addAll, containsAll, equals, isEmpty, removeAll, retainAll, toArray |
Field Detail |
public static final double DEFAULT_GROWTH_FACTOR
public static final int DEFAULT_GROWTH_CHUNK
public static final int DEFAULT_CAPACITY
public static final double DEFAULT_LOAD_FACTOR
Constructor Detail |
public LongChainedHashSet()
public LongChainedHashSet(LongCollection c)
c
- the collection whose elements to add to the new
set.
NullPointerException
- if c is null.public LongChainedHashSet(long[] a)
a
- the array whose elements to add to the new
set.
NullPointerException
- if a is null.public LongChainedHashSet(int capacity)
capacity
- the initial capacity of the set.
IllegalArgumentException
- if capacity is negative.public LongChainedHashSet(double loadFactor)
loadFactor
- the load factor of the set.
IllegalArgumentException
- if loadFactor is negative.public LongChainedHashSet(int capacity, double loadFactor)
capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive.public LongChainedHashSet(int capacity, double loadFactor, double growthFactor)
The set capacity increases to capacity()*(1+growthFactor). This strategy is good for avoiding many capacity increases, but the amount of wasted memory is approximately the size of the set.
capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.growthFactor
- the relative amount with which to increase the
the capacity when a capacity increase is needed.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive;
if growthFactor is not positive.public LongChainedHashSet(int capacity, double loadFactor, int growthChunk)
The set capacity increases to capacity()+growthChunk. This strategy is good for avoiding wasting memory. However, an overhead is potentially introduced by frequent capacity increases.
capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.growthChunk
- the absolute amount with which to increase the
the capacity when a capacity increase is needed.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive;
if growthChunk is not positive.public LongChainedHashSet(LongHashFunction keyhash)
keyhash
- the hash function to use when hashing keys.
NullPointerException
- if keyhash is null.public LongChainedHashSet(LongHashFunction keyhash, int capacity)
keyhash
- the hash function to use when hashing keys.capacity
- the initial capacity of the set.
IllegalArgumentException
- if capacity is negative.
NullPointerException
- if keyhash is null.public LongChainedHashSet(LongHashFunction keyhash, double loadFactor)
keyhash
- the hash function to use when hashing keys.loadFactor
- the load factor of the set.
IllegalArgumentException
- if loadFactor is negative.
NullPointerException
- if keyhash is null.public LongChainedHashSet(LongHashFunction keyhash, int capacity, double loadFactor)
keyhash
- the hash function to use when hashing keys.capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive.
NullPointerException
- if keyhash is null.public LongChainedHashSet(LongHashFunction keyhash, int capacity, double loadFactor, double growthFactor)
The set capacity increases to capacity()*(1+growthFactor). This strategy is good for avoiding many capacity increases, but the amount of wasted memory is approximately the size of the set.
keyhash
- the hash function to use when hashing keys.capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.growthFactor
- the relative amount with which to increase the
the capacity when a capacity increase is needed.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive;
if growthFactor is not positive.
NullPointerException
- if keyhash is null.public LongChainedHashSet(LongHashFunction keyhash, int capacity, double loadFactor, int growthChunk)
The set capacity increases to capacity()+growthChunk. This strategy is good for avoiding wasting memory. However, an overhead is potentially introduced by frequent capacity increases.
keyhash
- the hash function to use when hashing keys.capacity
- the initial capacity of the set.loadFactor
- the load factor of the set.growthChunk
- the absolute amount with which to increase the
the capacity when a capacity increase is needed.
IllegalArgumentException
- if capacity is negative;
if loadFactor is not positive;
if growthChunk is not positive.
NullPointerException
- if keyhash is null.Method Detail |
public boolean add(long v)
LongCollection
add
in interface LongCollection
add
in class AbstractLongCollection
public LongIterator iterator()
LongCollection
iterator
in interface LongCollection
public void trimToSize()
LongCollection
trimToSize
in interface LongCollection
trimToSize
in class AbstractLongCollection
public Object clone()
public int size()
LongCollection
size
in interface LongCollection
size
in class AbstractLongCollection
public void clear()
LongCollection
clear
in interface LongCollection
clear
in class AbstractLongCollection
public boolean contains(long v)
LongCollection
contains
in interface LongCollection
contains
in class AbstractLongCollection
public int hashCode()
LongCollection
hashCode
in interface LongCollection
hashCode
in class AbstractLongSet
public boolean remove(long v)
LongCollection
remove
in interface LongCollection
remove
in class AbstractLongCollection
public long[] toArray(long[] a)
LongCollection
toArray
in interface LongCollection
toArray
in class AbstractLongCollection
|
PCJ API Version 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |