org.elasticsearch.util.gnu.trove
Class THashSet<E>

java.lang.Object
  extended by org.elasticsearch.util.gnu.trove.THash
      extended by org.elasticsearch.util.gnu.trove.TObjectHash<E>
          extended by org.elasticsearch.util.gnu.trove.THashSet<E>
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>, TObjectHashingStrategy<E>

public class THashSet<E>
extends 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.

Created: Sat Nov 3 10:38:17 2001

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.elasticsearch.util.gnu.trove.TObjectHash
_hashingStrategy, _set, FREE, REMOVED
 
Fields inherited from class org.elasticsearch.util.gnu.trove.THash
_autoCompactionFactor, _autoCompactRemovesRemaining, _free, _loadFactor, _maxSize, _size, DEFAULT_INITIAL_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(java.util.Collection<? extends E> collection, TObjectHashingStrategy<E> strategy)
          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.
THashSet(int initialCapacity, float loadFactor, TObjectHashingStrategy<E> strategy)
          Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the specified load factor.
THashSet(int initialCapacity, TObjectHashingStrategy<E> strategy)
          Creates a new THashSet instance with a prime capacity equal to or greater than initialCapacity and with the default load factor.
THashSet(TObjectHashingStrategy<E> strategy)
          Creates a new THashSet instance with the default capacity and 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()
           
 java.util.Iterator<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()
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class org.elasticsearch.util.gnu.trove.TObjectHash
capacity, clone, computeHashCode, contains, equals, forEach, index, insertionIndex, removeAt, setUp, throwObjectContractViolation
 
Methods inherited from class org.elasticsearch.util.gnu.trove.THash
calculateGrownCapacity, compact, ensureCapacity, getAutoCompactionFactor, isEmpty, postInsertHook, reenableAutoCompaction, setAutoCompactionFactor, size, tempDisableAutoCompaction, trimToSize
 
Methods inherited from class java.lang.Object
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(TObjectHashingStrategy<E> strategy)
Creates a new THashSet instance with the default capacity and load factor.

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

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,
                TObjectHashingStrategy<E> strategy)
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
strategy - used to compute hash codes and to compare objects.

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(int initialCapacity,
                float loadFactor,
                TObjectHashingStrategy<E> strategy)
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
strategy - used to compute hash codes and to compare objects.

THashSet

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

Parameters:
collection - a Collection value

THashSet

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

Parameters:
collection - a Collection value
strategy - used to compute hash codes and to compare objects.
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 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 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 java.util.Iterator<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 TObjectHash<E>
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 TObjectHash<E>
Throws:
java.io.IOException
java.lang.ClassNotFoundException