@GwtCompatible public final class Multisets extends Object
Multiset
instances.Modifier and Type | Method and Description |
---|---|
static boolean |
containsOccurrences(Multiset<?> superMultiset,
Multiset<?> subMultiset)
Returns
true if subMultiset.count(o) <=
superMultiset.count(o) for all o . |
static <E> ImmutableMultiset<E> |
copyHighestCountFirst(Multiset<E> multiset)
Returns a copy of
multiset as an ImmutableMultiset whose iteration order is
highest count first, with ties broken by the iteration order of the original multiset. |
static <E> Multiset.Entry<E> |
immutableEntry(E e,
int n)
Returns an immutable multiset entry with the specified element and count.
|
static <E> Multiset<E> |
intersection(Multiset<E> multiset1,
Multiset<?> multiset2)
Returns an unmodifiable view of the intersection of two multisets.
|
static boolean |
removeOccurrences(Multiset<?> multisetToModify,
Multiset<?> occurrencesToRemove)
For each occurrence of an element
e in occurrencesToRemove ,
removes one occurrence of e in multisetToModify . |
static boolean |
retainOccurrences(Multiset<?> multisetToModify,
Multiset<?> multisetToRetain)
Modifies
multisetToModify so that its count for an element
e is at most multisetToRetain.count(e) . |
static <E> Multiset<E> |
unmodifiableMultiset(ImmutableMultiset<E> multiset)
Deprecated.
no need to use this
|
static <E> Multiset<E> |
unmodifiableMultiset(Multiset<? extends E> multiset)
Returns an unmodifiable view of the specified multiset.
|
static <E> SortedMultiset<E> |
unmodifiableSortedMultiset(SortedMultiset<E> sortedMultiset)
Returns an unmodifiable view of the specified sorted multiset.
|
public static <E> Multiset<E> unmodifiableMultiset(Multiset<? extends E> multiset)
UnsupportedOperationException
.
The returned multiset will be serializable if the specified multiset is serializable.
multiset
- the multiset for which an unmodifiable view is to be
generated@Deprecated public static <E> Multiset<E> unmodifiableMultiset(ImmutableMultiset<E> multiset)
@Beta public static <E> SortedMultiset<E> unmodifiableSortedMultiset(SortedMultiset<E> sortedMultiset)
UnsupportedOperationException
.
The returned multiset will be serializable if the specified multiset is serializable.
sortedMultiset
- the sorted multiset for which an unmodifiable view is
to be generatedpublic static <E> Multiset.Entry<E> immutableEntry(@Nullable E e, int n)
e
is.e
- the element to be associated with the returned entryn
- the count to be associated with the returned entryIllegalArgumentException
- if n
is negativepublic static <E> Multiset<E> intersection(Multiset<E> multiset1, Multiset<?> multiset2)
multiset1
, with repeated occurrences of the same
element appearing consecutively.
Results are undefined if multiset1
and multiset2
are
based on different equivalence relations (as HashMultiset
and
TreeMultiset
are).
@Beta public static boolean containsOccurrences(Multiset<?> superMultiset, Multiset<?> subMultiset)
true
if subMultiset.count(o) <=
superMultiset.count(o)
for all o
.@Beta public static boolean retainOccurrences(Multiset<?> multisetToModify, Multiset<?> multisetToRetain)
multisetToModify
so that its count for an element
e
is at most multisetToRetain.count(e)
.
To be precise, multisetToModify.count(e)
is set to
Math.min(multisetToModify.count(e),
multisetToRetain.count(e))
. This is similar to
intersection
(multisetToModify, multisetToRetain)
, but mutates
multisetToModify
instead of returning a view.
In contrast, multisetToModify.retainAll(multisetToRetain)
keeps
all occurrences of elements that appear at all in multisetToRetain
, and deletes all occurrences of all other elements.
true
if multisetToModify
was changed as a result
of this operation@Beta public static boolean removeOccurrences(Multiset<?> multisetToModify, Multiset<?> occurrencesToRemove)
e
in occurrencesToRemove
,
removes one occurrence of e
in multisetToModify
.
Equivalently, this method modifies multisetToModify
so that
multisetToModify.count(e)
is set to
Math.max(0, multisetToModify.count(e) -
occurrencesToRemove.count(e))
.
This is not the same as multisetToModify.
removeAll
(occurrencesToRemove)
, which
removes all occurrences of elements that appear in
occurrencesToRemove
. However, this operation is equivalent
to, albeit more efficient than, the following:
for (E e : occurrencesToRemove) {
multisetToModify.remove(e);
}
true
if multisetToModify
was changed as a result of
this operation@Beta public static <E> ImmutableMultiset<E> copyHighestCountFirst(Multiset<E> multiset)
multiset
as an ImmutableMultiset
whose iteration order is
highest count first, with ties broken by the iteration order of the original multiset.Copyright © 2010-2012. All Rights Reserved.