|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.collect.Multisets
@GwtCompatible public final class Multisets
Provides static utility methods for creating and working with Multiset
instances.
See the Guava User Guide article on
Multisets
.
Method Summary | ||
---|---|---|
static boolean |
containsOccurrences(Multiset<?> superMultiset,
Multiset<?> subMultiset)
Returns true if subMultiset.count(o) <=
superMultiset.count(o) for all o . |
|
static
|
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
|
immutableEntry(E e,
int n)
Returns an immutable multiset entry with the specified element and count. |
|
static
|
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
|
unmodifiableMultiset(ImmutableMultiset<E> multiset)
Deprecated. no need to use this |
|
static
|
unmodifiableMultiset(Multiset<? extends E> multiset)
Returns an unmodifiable view of the specified multiset. |
|
static
|
unmodifiableSortedMultiset(SortedMultiset<E> sortedMultiset)
Returns an unmodifiable view of the specified sorted multiset. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
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 generated
public 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 entry
IllegalArgumentException
- 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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |