Package com.unboundid.util
Class WeakHashSet<T>
java.lang.Object
com.unboundid.util.WeakHashSet<T>
- Type Parameters:
T- The type of element held in this set.
- All Implemented Interfaces:
Iterable<T>,Collection<T>,Set<T>
@Mutable
@ThreadSafety(level=NOT_THREADSAFE)
public final class WeakHashSet<T>
extends Object
implements Set<T>
This class provides a weak hash set, which maintains weak references to the
elements it contains, so that they will be removed automatically once there
are no more normal references to them.
Note that because this set uses weak references, elements may disappear from the set at any time without being explicitly removed. This means that care must be taken to ensure that the result of one method must not be considered authoritative for subsequent calls to the same method or other methods in this class.
Note that because this set uses weak references, elements may disappear from the set at any time without being explicitly removed. This means that care must be taken to ensure that the result of one method must not be considered authoritative for subsequent calls to the same method or other methods in this class.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new weak hash set with the default initial capacity.WeakHashSet(int initialCapacity) Creates a new weak hash set with the specified initial capacity. -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdds the provided element to this set, if it does not already exist.booleanaddAll(Collection<? extends T> c) Adds any elements from the provided collection to this set if they were not already present.Adds the provided element to the set if it does not already exist, and retrieves the value stored in the set.voidclear()Clears the contents of this set.booleanIndicates whether this set contains the specified element.booleancontainsAll(Collection<?> c) Indicates whether this set currently contains all of the elements in the provided collection.booleanIndicates whether the provided object is equal to this set.Retrieves the existing instance of the provided element from this set.inthashCode()Retrieves a hash code for this set.booleanisEmpty()Indicates whether this set is currently empty.iterator()Retrieves an iterator across all elements in this set.booleanRemoves the specified element from this set, if it exists.booleanremoveAll(Collection<?> c) Removes all of the elements of the provided collection from this set.booleanretainAll(Collection<?> c) Removes all elements from this set which are not contained in the provided collection.intsize()Retrieves the number of elements currently held in this set.Object[]toArray()Retrieves an array containing all of the elements currently held in this set.<E> E[]toArray(E[] a) Retrieves an array containing all of the elements currently held in this set.toString()Retrieves a string representation of this set.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.Set
spliterator
-
Constructor Details
-
WeakHashSet
public WeakHashSet()Creates a new weak hash set with the default initial capacity. -
WeakHashSet
Creates a new weak hash set with the specified initial capacity.- Parameters:
initialCapacity- The initial capacity for this weak hash set. It must not benull.
-
-
Method Details
-
clear
Clears the contents of this set. -
isEmpty
Indicates whether this set is currently empty. -
size
Retrieves the number of elements currently held in this set. -
contains
Indicates whether this set contains the specified element. -
containsAll
Indicates whether this set currently contains all of the elements in the provided collection.- Specified by:
containsAllin interfaceCollection<T>- Specified by:
containsAllin interfaceSet<T>- Parameters:
c- The collection for which to make the determination.- Returns:
trueif this set currently contains all of the elements in the provided collection, orfalseif not.
-
get
Retrieves the existing instance of the provided element from this set.- Parameters:
e- The object for which to obtain the existing element.- Returns:
- The existing instance of the provided element, or
nullif the provided element is not contained in this set.
-
add
Adds the provided element to this set, if it does not already exist.- Specified by:
addin interfaceCollection<T>- Specified by:
addin interfaceSet<T>- Parameters:
e- The element to be added to the set if it does not already exist.- Returns:
trueif the element was added to the set (because it was not already present), orfalseif the element was not added (because it was already in the set).
-
addAll
Adds any elements from the provided collection to this set if they were not already present.- Specified by:
addAllin interfaceCollection<T>- Specified by:
addAllin interfaceSet<T>- Parameters:
c- The collection containing elements to add.- Returns:
trueif at least one of the elements was not already in the set and was added, orfalseif no elements were added because they were already all present.
-
addAndGet
Adds the provided element to the set if it does not already exist, and retrieves the value stored in the set.- Parameters:
e- The element to be added to the set if it does not already exist.- Returns:
- An existing version of the provided element if it was already in the set, or the provided object if it was just added.
-
remove
Removes the specified element from this set, if it exists. -
removeAll
Removes all of the elements of the provided collection from this set.- Specified by:
removeAllin interfaceCollection<T>- Specified by:
removeAllin interfaceSet<T>- Parameters:
c- The collection containing the elements to remove from this set.- Returns:
trueif at least one of the elements from the provided collection were contained in and therefore removed from the set, orfalseif none of the elements in the given collection were contained in this set.
-
retainAll
Removes all elements from this set which are not contained in the provided collection.- Specified by:
retainAllin interfaceCollection<T>- Specified by:
retainAllin interfaceSet<T>- Parameters:
c- The collection of elements to be retained.- Returns:
trueif this set contained at least one element not in the provided collection that was therefore removed, orfalseif this set did not have any elements that were not in the provided collection.
-
iterator
Retrieves an iterator across all elements in this set. -
toArray
Retrieves an array containing all of the elements currently held in this set. -
toArray
Retrieves an array containing all of the elements currently held in this set.- Specified by:
toArrayin interfaceCollection<T>- Specified by:
toArrayin interfaceSet<T>- Type Parameters:
E- The type of element for the given array.- Parameters:
a- An array into which the elements will be added if there is sufficient space.- Returns:
- The provided array (with the first
nullelement depicting the end of the set elements if the given array is larger than this set), or a newly-allocated array if the provided array was not large enough.
-
hashCode
Retrieves a hash code for this set. -
equals
Indicates whether the provided object is equal to this set. -
toString
Retrieves a string representation of this set.
-