Package org.jboss.util.collection
Class WeakSet
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet
-
- org.jboss.util.collection.WeakSet
-
- All Implemented Interfaces:
java.lang.Iterable
,java.util.Collection
,java.util.Set
public class WeakSet extends java.util.AbstractSet implements java.util.Set
A Set implementation with weak elements. An entry in a WeakSet will automatically be removed when the element is no longer in ordinary use. More precisely, the presence of an given element will not prevent the element from being discarded by the garbage collector, that is, made finalizable, finalized, and then reclaimed.- Version:
- $Revision$
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(java.lang.Object obj)
Add an element to the set.void
clear()
Removes all of the elements from this set.java.lang.Object
clone()
Returns a shallow copy of this WeakSet instance: the elements themselves are not cloned.boolean
contains(java.lang.Object obj)
Returns true if this set contains the specified element.boolean
isEmpty()
Returns true if this set contains no elements.java.util.Iterator
iterator()
Return an iteration over the elements in the set.protected void
maintain()
Maintain the elements in the set.boolean
remove(java.lang.Object obj)
Removes the given element from this set if it is present.int
size()
Return the size of the set.-
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAll, toArray, toArray, toString
-
-
-
-
Constructor Detail
-
WeakSet
public WeakSet(java.util.Set set)
Construct a WeakSet. Any elements in the given set will be wrapped inWeakObject
references.- Parameters:
set
- The Set which will be used for element storage.- Throws:
NullArgumentException
- Set is null.
-
WeakSet
public WeakSet()
Construct a WeakSet based on a HashSet.
-
-
Method Detail
-
maintain
protected final void maintain()
Maintain the elements in the set. Removes objects from the set that have been reclaimed due to GC.
-
size
public int size()
Return the size of the set.- Specified by:
size
in interfacejava.util.Collection
- Specified by:
size
in interfacejava.util.Set
- Specified by:
size
in classjava.util.AbstractCollection
- Returns:
- The size of the set.
-
iterator
public java.util.Iterator iterator()
Return an iteration over the elements in the set.- Specified by:
iterator
in interfacejava.util.Collection
- Specified by:
iterator
in interfacejava.lang.Iterable
- Specified by:
iterator
in interfacejava.util.Set
- Specified by:
iterator
in classjava.util.AbstractCollection
- Returns:
- An iteration over the elements in the set.
-
add
public boolean add(java.lang.Object obj)
Add an element to the set.- Specified by:
add
in interfacejava.util.Collection
- Specified by:
add
in interfacejava.util.Set
- Overrides:
add
in classjava.util.AbstractCollection
- Parameters:
obj
- Element to add to the set.- Returns:
- True if the element was added.
-
isEmpty
public boolean isEmpty()
Returns true if this set contains no elements.- Specified by:
isEmpty
in interfacejava.util.Collection
- Specified by:
isEmpty
in interfacejava.util.Set
- Overrides:
isEmpty
in classjava.util.AbstractCollection
- Returns:
- true if this set contains no elements.
-
contains
public boolean contains(java.lang.Object obj)
Returns true if this set contains the specified element.- Specified by:
contains
in interfacejava.util.Collection
- Specified by:
contains
in interfacejava.util.Set
- Overrides:
contains
in classjava.util.AbstractCollection
- Parameters:
obj
- Element whose presence in this set is to be tested.- Returns:
- true if this set contains the specified element.
-
remove
public boolean remove(java.lang.Object obj)
Removes the given element from this set if it is present.- Specified by:
remove
in interfacejava.util.Collection
- Specified by:
remove
in interfacejava.util.Set
- Overrides:
remove
in classjava.util.AbstractCollection
- Parameters:
obj
- Object to be removed from this set, if present.- Returns:
- true if the set contained the specified element.
-
clear
public void clear()
Removes all of the elements from this set.- Specified by:
clear
in interfacejava.util.Collection
- Specified by:
clear
in interfacejava.util.Set
- Overrides:
clear
in classjava.util.AbstractCollection
-
clone
public java.lang.Object clone()
Returns a shallow copy of this WeakSet instance: the elements themselves are not cloned.- Overrides:
clone
in classjava.lang.Object
- Returns:
- A shallow copy of this set.
-
-