Class TDoubleHashSet
- java.lang.Object
-
- gnu.trove.impl.hash.THash
-
- gnu.trove.impl.hash.TPrimitiveHash
-
- gnu.trove.impl.hash.TDoubleHash
-
- gnu.trove.set.hash.TDoubleHashSet
-
- All Implemented Interfaces:
TDoubleSet
,TDoubleCollection
,java.io.Externalizable
,java.io.Serializable
public class TDoubleHashSet extends TDoubleHash implements TDoubleSet, java.io.Externalizable
An open addressed set implementation for double primitives.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class gnu.trove.impl.hash.TDoubleHash
_set, consumeFreeSlot, no_entry_value
-
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 TDoubleHashSet()
Creates a newTDoubleHashSet
instance with the default capacity and load factor.TDoubleHashSet(double[] array)
Creates a newTDoubleHashSet
instance containing the elements of array.TDoubleHashSet(int initialCapacity)
Creates a newTDoubleHashSet
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.TDoubleHashSet(int initialCapacity, float load_factor)
Creates a newTIntHash
instance with a prime value at or near the specified capacity and load factor.TDoubleHashSet(int initial_capacity, float load_factor, double no_entry_value)
Creates a newTDoubleHashSet
instance with a prime capacity equal to or greater than initial_capacity and with the specified load factor.TDoubleHashSet(TDoubleCollection collection)
Creates a newTDoubleHashSet
instance that is a copy of the existing set.TDoubleHashSet(java.util.Collection<? extends java.lang.Double> collection)
Creates a newTDoubleHashSet
instance that is a copy of the existing Collection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(double val)
Inserts a value into the set.boolean
addAll(double[] array)
Adds all of the elements in the array to the set.boolean
addAll(TDoubleCollection collection)
Adds all of the elements in the TDoubleCollection to the set.boolean
addAll(java.util.Collection<? extends java.lang.Double> collection)
Adds all of the elements in collection to the set.void
clear()
Empties the collection.boolean
containsAll(double[] array)
Tests the set to determine if all of the elements in array are present.boolean
containsAll(TDoubleCollection collection)
Tests the set to determine if all of the elements in TDoubleCollection are present.boolean
containsAll(java.util.Collection<?> collection)
Tests the set to determine if all of the elements in collection are present.boolean
equals(java.lang.Object other)
Compares the specified object with this set for equality.int
hashCode()
Returns the hash code value for this set.TDoubleIterator
iterator()
Creates an iterator over the values of the set.void
readExternal(java.io.ObjectInput in)
protected void
rehash(int newCapacity)
Rehashes the set.boolean
remove(double val)
Removes entry from the set.boolean
removeAll(double[] array)
Removes all of the elements in array from the set.boolean
removeAll(TDoubleCollection collection)
Removes all of the elements in TDoubleCollection from the set.boolean
removeAll(java.util.Collection<?> collection)
Removes all of the elements in collection from the set.boolean
retainAll(double[] array)
Removes any values in the set which are not contained in array.boolean
retainAll(TDoubleCollection collection)
Removes any values in the set which are not contained in TDoubleCollection.boolean
retainAll(java.util.Collection<?> collection)
Removes any values in the set which are not contained in collection.double[]
toArray()
Returns an array containing all of the elements in this set.double[]
toArray(double[] dest)
Returns an array containing elements in this set.java.lang.String
toString()
void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class gnu.trove.impl.hash.TDoubleHash
contains, forEach, getNoEntryValue, index, insertKey, removeAt, setUp
-
Methods inherited from class gnu.trove.impl.hash.TPrimitiveHash
capacity
-
Methods inherited from class gnu.trove.impl.hash.THash
calculateGrownCapacity, compact, computeMaxSize, computeNextAutoCompactionAmount, ensureCapacity, fastCeil, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, saturatedCast, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gnu.trove.set.TDoubleSet
contains, forEach, getNoEntryValue, isEmpty, size
-
-
-
-
Constructor Detail
-
TDoubleHashSet
public TDoubleHashSet()
Creates a newTDoubleHashSet
instance with the default capacity and load factor.
-
TDoubleHashSet
public TDoubleHashSet(int initialCapacity)
Creates a newTDoubleHashSet
instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.- Parameters:
initialCapacity
- anint
value
-
TDoubleHashSet
public TDoubleHashSet(int initialCapacity, float load_factor)
Creates a newTIntHash
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.load_factor
- used to calculate the threshold over which rehashing takes place.
-
TDoubleHashSet
public TDoubleHashSet(int initial_capacity, float load_factor, double no_entry_value)
Creates a newTDoubleHashSet
instance with a prime capacity equal to or greater than initial_capacity and with the specified load factor.- Parameters:
initial_capacity
- anint
valueload_factor
- afloat
valueno_entry_value
- adouble
value that represents null.
-
TDoubleHashSet
public TDoubleHashSet(java.util.Collection<? extends java.lang.Double> collection)
Creates a newTDoubleHashSet
instance that is a copy of the existing Collection.- Parameters:
collection
- a Collection that will be duplicated.
-
TDoubleHashSet
public TDoubleHashSet(TDoubleCollection collection)
Creates a newTDoubleHashSet
instance that is a copy of the existing set.- Parameters:
collection
- a TDoubleSet that will be duplicated.
-
TDoubleHashSet
public TDoubleHashSet(double[] array)
Creates a newTDoubleHashSet
instance containing the elements of array.- Parameters:
array
- an array ofdouble
primitives
-
-
Method Detail
-
iterator
public TDoubleIterator iterator()
Creates an iterator over the values of the set. The iterator supports element deletion.- Specified by:
iterator
in interfaceTDoubleCollection
- Specified by:
iterator
in interfaceTDoubleSet
- Returns:
- an
TDoubleIterator
value
-
toArray
public double[] toArray()
Returns an array containing all of the elements in this set. If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.The returned array will be "safe" in that no references to it are maintained by this set. (In other words, this method must allocate a new array even if this set is backed by an array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
- Specified by:
toArray
in interfaceTDoubleCollection
- Specified by:
toArray
in interfaceTDoubleSet
- Returns:
- an array containing all the elements in this set
-
toArray
public double[] toArray(double[] dest)
Returns an array containing elements in this set.If this set fits in the specified array with room to spare (i.e., the array has more elements than this set), the element in the array immediately following the end of the set is set to
TDoubleSet.getNoEntryValue()
. (This is useful in determining the length of this set only if the caller knows that this set does not contain any elements representing null.)If the native array is smaller than the set size, the array will be filled with elements in Iterator order until it is full and exclude the remainder.
If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
- Specified by:
toArray
in interfaceTDoubleCollection
- Specified by:
toArray
in interfaceTDoubleSet
- Parameters:
dest
- the array into which the elements of this set are to be stored.- Returns:
- an double[] containing all the elements in this set
-
add
public boolean add(double val)
Inserts a value into the set.- Specified by:
add
in interfaceTDoubleCollection
- Specified by:
add
in interfaceTDoubleSet
- Parameters:
val
- adouble
value- Returns:
- true if the set was modified by the add operation
-
remove
public boolean remove(double val)
Removes entry from the set.- Specified by:
remove
in interfaceTDoubleCollection
- Specified by:
remove
in interfaceTDoubleSet
- Parameters:
val
- andouble
value- Returns:
- true if the set was modified by the remove operation.
-
containsAll
public boolean containsAll(java.util.Collection<?> collection)
Tests the set to determine if all of the elements in collection are present.- Specified by:
containsAll
in interfaceTDoubleCollection
- Specified by:
containsAll
in interfaceTDoubleSet
- Parameters:
collection
- aCollection
value- Returns:
- true if all elements were present in the set.
-
containsAll
public boolean containsAll(TDoubleCollection collection)
Tests the set to determine if all of the elements in TDoubleCollection are present.- Specified by:
containsAll
in interfaceTDoubleCollection
- Specified by:
containsAll
in interfaceTDoubleSet
- Parameters:
collection
- aTDoubleCollection
value- Returns:
- true if all elements were present in the set.
-
containsAll
public boolean containsAll(double[] array)
Tests the set to determine if all of the elements in array are present.- Specified by:
containsAll
in interfaceTDoubleCollection
- Specified by:
containsAll
in interfaceTDoubleSet
- Parameters:
array
- asarray
of double primitives.- Returns:
- true if all elements were present in the set.
-
addAll
public boolean addAll(java.util.Collection<? extends java.lang.Double> collection)
Adds all of the elements in collection to the set.- Specified by:
addAll
in interfaceTDoubleCollection
- Specified by:
addAll
in interfaceTDoubleSet
- Parameters:
collection
- aCollection
value- Returns:
- true if the set was modified by the add all operation.
-
addAll
public boolean addAll(TDoubleCollection collection)
Adds all of the elements in the TDoubleCollection to the set.- Specified by:
addAll
in interfaceTDoubleCollection
- Specified by:
addAll
in interfaceTDoubleSet
- Parameters:
collection
- aTDoubleCollection
value- Returns:
- true if the set was modified by the add all operation.
-
addAll
public boolean addAll(double[] array)
Adds all of the elements in the array to the set.- Specified by:
addAll
in interfaceTDoubleCollection
- Specified by:
addAll
in interfaceTDoubleSet
- Parameters:
array
- aarray
of double primitives.- Returns:
- true if the set was modified by the add all operation.
-
retainAll
public boolean retainAll(java.util.Collection<?> collection)
Removes any values in the set which are not contained in collection.- Specified by:
retainAll
in interfaceTDoubleCollection
- Specified by:
retainAll
in interfaceTDoubleSet
- Parameters:
collection
- aCollection
value- Returns:
- true if the set was modified by the retain all operation
-
retainAll
public boolean retainAll(TDoubleCollection collection)
Removes any values in the set which are not contained in TDoubleCollection.- Specified by:
retainAll
in interfaceTDoubleCollection
- Specified by:
retainAll
in interfaceTDoubleSet
- Parameters:
collection
- aTDoubleCollection
value- Returns:
- true if the set was modified by the retain all operation
-
retainAll
public boolean retainAll(double[] array)
Removes any values in the set which are not contained in array.- Specified by:
retainAll
in interfaceTDoubleCollection
- Specified by:
retainAll
in interfaceTDoubleSet
- Parameters:
array
- anarray
of double primitives.- Returns:
- true if the set was modified by the retain all operation
-
removeAll
public boolean removeAll(java.util.Collection<?> collection)
Removes all of the elements in collection from the set.- Specified by:
removeAll
in interfaceTDoubleCollection
- Specified by:
removeAll
in interfaceTDoubleSet
- Parameters:
collection
- aCollection
value- Returns:
- true if the set was modified by the remove all operation.
-
removeAll
public boolean removeAll(TDoubleCollection collection)
Removes all of the elements in TDoubleCollection from the set.- Specified by:
removeAll
in interfaceTDoubleCollection
- Specified by:
removeAll
in interfaceTDoubleSet
- Parameters:
collection
- aTDoubleCollection
value- Returns:
- true if the set was modified by the remove all operation.
-
removeAll
public boolean removeAll(double[] array)
Removes all of the elements in array from the set.- Specified by:
removeAll
in interfaceTDoubleCollection
- Specified by:
removeAll
in interfaceTDoubleSet
- Parameters:
array
- anarray
of double primitives.- Returns:
- true if the set was modified by the remove all operation.
-
clear
public void clear()
Empties the collection.- Specified by:
clear
in interfaceTDoubleCollection
- Specified by:
clear
in interfaceTDoubleSet
- Overrides:
clear
in classTHash
-
rehash
protected void rehash(int newCapacity)
Rehashes the set.
-
equals
public boolean equals(java.lang.Object other)
Compares the specified object with this set for equality. Returns true if the specified object is also a set, the two sets have the same size, and every member of the specified set is contained in this set (or equivalently, every member of this set is contained in the specified set). This definition ensures that the equals method works properly across different implementations of the set interface.- Specified by:
equals
in interfaceTDoubleCollection
- Specified by:
equals
in interfaceTDoubleSet
- Overrides:
equals
in classjava.lang.Object
- Parameters:
other
- object to be compared for equality with this set- Returns:
- true if the specified object is equal to this set
-
hashCode
public int hashCode()
Returns the hash code value for this set. The hash code of a set is defined to be the sum of the hash codes of the elements in the set. This ensures that s1.equals(s2) implies that s1.hashCode()==s2.hashCode() for any two sets s1 and s2, as required by the general contract ofObject.hashCode()
.- Specified by:
hashCode
in interfaceTDoubleCollection
- Specified by:
hashCode
in interfaceTDoubleSet
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the hash code value for this set
- See Also:
Object.equals(Object)
,Set.equals(Object)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
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
-
-