GNU Trove

gnu.trove.set.hash
Class THashSet<E>

java.lang.Object
  extended by gnu.trove.impl.hash.THash
      extended by gnu.trove.impl.hash.TObjectHash<E>
          extended by gnu.trove.set.hash.THashSet<E>
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>
Direct Known Subclasses:
TLinkedHashSet

public class THashSet<E>
extends gnu.trove.impl.hash.TObjectHash<E>
implements java.util.Set<E>, java.lang.Iterable<E>, java.io.Externalizable

An implementation of the Set interface that uses an open-addressed hash table to store its contents.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class gnu.trove.impl.hash.TObjectHash
_set, consumeFreeSlot, FREE, REMOVED
 
Fields inherited from class gnu.trove.impl.hash.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _autoCompactTemporaryDisable, _free, _loadFactor, _maxSize, _size, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR
 
Constructor Summary
THashSet()
          Creates a new THashSet instance with the default capacity and load factor.
THashSet(java.util.Collection<? extends E> collection)
          Creates a new THashSet instance containing the elements of collection.
THashSet(int initialCapacity)
          Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
THashSet(int initialCapacity, float loadFactor)
          Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
 
Method Summary
 boolean add(E obj)
          Inserts a value into the set.
 boolean addAll(java.util.Collection<? extends E> collection)
          Adds all of the elements in collection to the set.
 void clear()
          Empties the set.
 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)
           
 int hashCode()
           
 TObjectHashIterator<E> iterator()
          Creates an iterator over the values of the set.
 void readExternal(java.io.ObjectInput in)
           
protected  void rehash(int newCapacity)
          Expands the set to accommodate new values.
 boolean remove(java.lang.Object obj)
          Removes obj from the set.
 boolean removeAll(java.util.Collection<?> collection)
          Removes all of the elements in collection from the set.
 boolean retainAll(java.util.Collection<?> collection)
          Removes any values in the set which are not contained in collection.
 java.lang.Object[] toArray()
          Returns a new array containing the objects in the set.
<T> T[]
toArray(T[] a)
          Returns a typed array of the objects in the set.
 java.lang.String toString()
           
protected  void writeEntries(java.io.ObjectOutput out)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class gnu.trove.impl.hash.TObjectHash
buildObjectContractViolation, capacity, contains, dumpExtraInfo, equals, forEach, hash, index, insertionIndex, insertKey, objectInfo, removeAt, reportPotentialConcurrentMod, setUp, throwObjectContractViolation, throwObjectContractViolation
 
Methods inherited from class gnu.trove.impl.hash.THash
calculateGrownCapacity, compact, computeMaxSize, computeNextAutoCompactionAmount, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Set
contains, isEmpty, size
 

Constructor Detail

THashSet

public THashSet()
Creates a new THashSet instance with the default capacity and load factor.


THashSet

public THashSet(int initialCapacity)
Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.

Parameters:
initialCapacity - an int value

THashSet

public THashSet(int initialCapacity,
                float loadFactor)
Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.

Parameters:
initialCapacity - an int value
loadFactor - a float value

THashSet

public THashSet(java.util.Collection<? extends E> collection)
Creates a new THashSet instance containing the elements of collection.

Parameters:
collection - a Collection value
Method Detail

add

public boolean add(E obj)
Inserts a value into the set.

Specified by:
add in interface java.util.Collection<E>
Specified by:
add in interface java.util.Set<E>
Parameters:
obj - an Object value
Returns:
true if the set was modified by the add operation

equals

public boolean equals(java.lang.Object other)
Specified by:
equals in interface java.util.Collection<E>
Specified by:
equals in interface java.util.Set<E>
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<E>
Specified by:
hashCode in interface java.util.Set<E>
Overrides:
hashCode in class java.lang.Object

rehash

protected void rehash(int newCapacity)
Expands the set to accommodate new values.

Specified by:
rehash in class gnu.trove.impl.hash.THash
Parameters:
newCapacity - an int value

toArray

public java.lang.Object[] toArray()
Returns a new array containing the objects in the set.

Specified by:
toArray in interface java.util.Collection<E>
Specified by:
toArray in interface java.util.Set<E>
Returns:
an Object[] value

toArray

public <T> T[] toArray(T[] a)
Returns a typed array of the objects in the set.

Specified by:
toArray in interface java.util.Collection<E>
Specified by:
toArray in interface java.util.Set<E>
Parameters:
a - an Object[] value
Returns:
an Object[] value

clear

public void clear()
Empties the set.

Specified by:
clear in interface java.util.Collection<E>
Specified by:
clear in interface java.util.Set<E>
Overrides:
clear in class gnu.trove.impl.hash.THash

remove

public boolean remove(java.lang.Object obj)
Removes obj from the set.

Specified by:
remove in interface java.util.Collection<E>
Specified by:
remove in interface java.util.Set<E>
Parameters:
obj - an Object value
Returns:
true if the set was modified by the remove operation.

iterator

public TObjectHashIterator<E> iterator()
Creates an iterator over the values of the set. The iterator supports element deletion.

Specified by:
iterator in interface java.lang.Iterable<E>
Specified by:
iterator in interface java.util.Collection<E>
Specified by:
iterator in interface java.util.Set<E>
Returns:
an Iterator value

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 interface java.util.Collection<E>
Specified by:
containsAll in interface java.util.Set<E>
Parameters:
collection - a Collection value
Returns:
true if all elements were present in the set.

addAll

public boolean addAll(java.util.Collection<? extends E> collection)
Adds all of the elements in collection to the set.

Specified by:
addAll in interface java.util.Collection<E>
Specified by:
addAll in interface java.util.Set<E>
Parameters:
collection - a Collection value
Returns:
true if the set was modified by the add all operation.

removeAll

public boolean removeAll(java.util.Collection<?> collection)
Removes all of the elements in collection from the set.

Specified by:
removeAll in interface java.util.Collection<E>
Specified by:
removeAll in interface java.util.Set<E>
Parameters:
collection - a Collection value
Returns:
true if the set was modified by the remove 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 interface java.util.Collection<E>
Specified by:
retainAll in interface java.util.Set<E>
Parameters:
collection - a Collection value
Returns:
true if the set was modified by the retain all operation

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class gnu.trove.impl.hash.TObjectHash<E>
Throws:
java.io.IOException

writeEntries

protected void writeEntries(java.io.ObjectOutput out)
                     throws java.io.IOException
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class gnu.trove.impl.hash.TObjectHash<E>
Throws:
java.io.IOException
java.lang.ClassNotFoundException

GNU Trove