E
- the type of elements held in this collectionpublic class CopyOnWriteArraySet<E> extends AbstractSet<E> implements Serializable
Set
that uses an internal CopyOnWriteArrayList
for all of its operations. Thus, it shares the same basic properties:
Sample Usage. The following code sketch uses a copy-on-write set to maintain a set of Handler objects that perform some action upon state updates.
class Handler { void handle(); ... }
class X {
private final CopyOnWriteArraySet<Handler> handlers
= new CopyOnWriteArraySet<Handler>();
public void addHandler(Handler h) { handlers.add(h); }
private long internalState;
private synchronized void changeState() { internalState = ...; }
public void update() {
changeState();
for (Handler handler : handlers)
handler.handle();
}
}
This class is a member of the Java Collections Framework.
CopyOnWriteArrayList
,
Serialized FormConstructor and Description |
---|
CopyOnWriteArraySet()
Creates an empty set.
|
CopyOnWriteArraySet(Collection<? extends E> c)
Creates a set containing all of the elements of the specified
collection.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(E e)
Adds the specified element to this set if it is not already present.
|
boolean |
addAll(Collection<? extends E> c)
Adds all of the elements in the specified collection to this set if
they're not already present.
|
void |
clear()
Removes all of the elements from this set.
|
boolean |
contains(Object o)
Returns true if this set contains the specified element.
|
boolean |
containsAll(Collection<?> c)
Returns true if this set contains all of the elements of the
specified collection.
|
boolean |
equals(Object o)
Compares the specified object with this set for equality.
|
boolean |
isEmpty()
Returns true if this set contains no elements.
|
Iterator<E> |
iterator()
Returns an iterator over the elements contained in this set
in the order in which these elements were added.
|
boolean |
remove(Object o)
Removes the specified element from this set if it is present.
|
boolean |
removeAll(Collection<?> c)
Removes from this set all of its elements that are contained in the
specified collection.
|
boolean |
retainAll(Collection<?> c)
Retains only the elements in this set that are contained in the
specified collection.
|
int |
size()
Returns the number of elements in this set.
|
Object[] |
toArray()
Returns an array containing all of the elements in this set.
|
<T> T[] |
toArray(T[] a)
Returns an array containing all of the elements in this set; the
runtime type of the returned array is that of the specified array.
|
hashCode
toString
public CopyOnWriteArraySet()
public CopyOnWriteArraySet(Collection<? extends E> c)
c
- the collection of elements to initially containNullPointerException
- if the specified collection is nullpublic int size()
size
in interface Collection<E>
size
in interface Set<E>
size
in class AbstractCollection<E>
public boolean isEmpty()
isEmpty
in interface Collection<E>
isEmpty
in interface Set<E>
isEmpty
in class AbstractCollection<E>
public boolean contains(Object o)
contains
in interface Collection<E>
contains
in interface