Class CopyOnWriteMultiset<E>
- java.lang.Object
-
- com.google.android.exoplayer2.util.CopyOnWriteMultiset<E>
-
- Type Parameters:
E
- The type of element being stored.
- All Implemented Interfaces:
Iterable<E>
public final class CopyOnWriteMultiset<E> extends Object implements Iterable<E>
An unordered collection of elements that allows duplicates, but also allows access to a set of unique elements.This class is thread-safe using the same method as
CopyOnWriteArrayList
. Mutation methods cause the underlying data to be copied.elementSet()
anditerator()
return snapshots that are unaffected by subsequent mutations.Iterating directly on this class reveals duplicate elements. Unique elements can be accessed via
elementSet()
. Iteration order for both of these is not defined.
-
-
Constructor Summary
Constructors Constructor Description CopyOnWriteMultiset()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(E element)
Addselement
to the multiset.int
count(E element)
Returns the number of occurrences of an element in this multiset.Set<E>
elementSet()
Returns a snapshot of the unique elements currently in this multiset.Iterator<E>
iterator()
Returns an iterator over a snapshot of all the elements currently in this multiset (including duplicates).void
remove(E element)
Removeselement
from the multiset.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
add
public void add(E element)
Addselement
to the multiset.- Parameters:
element
- The element to be added.
-
remove
public void remove(E element)
Removeselement
from the multiset.- Parameters:
element
- The element to be removed.
-
elementSet
public Set<E> elementSet()
Returns a snapshot of the unique elements currently in this multiset.Changes to the underlying multiset are not reflected in the returned value.
- Returns:
- An unmodifiable set containing the unique elements in this multiset.
-
iterator
public Iterator<E> iterator()
Returns an iterator over a snapshot of all the elements currently in this multiset (including duplicates).Changes to the underlying multiset are not reflected in the returned value.
-
count
public int count(E element)
Returns the number of occurrences of an element in this multiset.
-
-