| Modifier and Type | Field and Description |
|---|---|
static MultiSet |
EMPTY_MULTISET
An empty unmodifiable multiset.
|
| Modifier and Type | Method and Description |
|---|---|
static <E> MultiSet |
emptyMultiSet()
Get an empty
MultiSet.
|
static <E> MultiSet |
predicatedMultiSet(MultiSet
Returns a predicated (validating) multiset backed by the given multiset.
|
static <E> MultiSet |
synchronizedMultiSet(MultiSet
Returns a synchronized (thread-safe) multiset backed by the given multiset.
|
static <E> MultiSet |
unmodifiableMultiSet(MultiSet
Returns an unmodifiable view of the given multiset.
|
public static final MultiSetEMPTY_MULTISET
public static <E> MultiSet<E> synchronizedMultiSet(MultiSet <E> multiset)
It is imperative that the user manually synchronize on the returned multiset when iterating over it:
MultiSet multiset = MultiSetUtils.synchronizedMultiSet(new HashMultiSet());
...
synchronized(multiset) {
Iterator i = multiset.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
}
Failure to follow this advice may result in non-deterministic behavior.
E - the element type
multiset - the multiset to synchronize, must not be null
NullPointerException - if the MultiSet is null
public static <E> MultiSet<E> unmodifiableMultiSet(MultiSet <? extends E> multiset)
UnsupportedOperationException.
E - the element type
multiset - the multiset whose unmodifiable view is to be returned, must not be null
NullPointerException - if the MultiSet is null
public static <E> MultiSet<E> predicatedMultiSet(MultiSet <E> multiset, Predicate <? super E> predicate)
Only objects that pass the test in the given predicate can be added to the multiset. Trying to add an invalid object results in an IllegalArgumentException. It is important not to use the original multiset after invoking this method, as it is a backdoor for adding invalid objects.
E - the element type
multiset - the multiset to predicate, must not be null
predicate - the predicate for the multiset, must not be null
NullPointerException - if the MultiSet or Predicate is null
public static <E> MultiSet<E> emptyMultiSet()
MultiSet.
E - the element type