@GwtCompatible public final class Multisets extends Object
Multiset instances.
 See the Guava User Guide article on 
 Multisets.
| Modifier and Type | Method and Description | 
|---|---|
| static boolean | containsOccurrences(Multiset<?> superMultiset,
                                      Multiset<?> subMultiset)Returns  trueifsubMultiset.count(o) <=
 superMultiset.count(o)for allo. | 
| static <E> ImmutableMultiset<E> | copyHighestCountFirst(Multiset<E> multiset)Returns a copy of  multisetas anImmutableMultisetwhose iteration order is
 highest count first, with ties broken by the iteration order of the original multiset. | 
| static <E> Multiset<E> | difference(Multiset<E> multiset1,
                    Multiset<?> multiset2)Returns an unmodifiable view of the difference of two multisets. | 
| static <E> Multiset<E> | filter(Multiset<E> unfiltered,
            Predicate<? super E> predicate)Returns a view of the elements of  unfilteredthat satisfy a predicate. | 
| 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,
                                  Iterable<?> occurrencesToRemove)For each occurrence of an element  einoccurrencesToRemove,
 removes one occurrence ofeinmultisetToModify. | 
| static boolean | removeOccurrences(Multiset<?> multisetToModify,
                                  Multiset<?> occurrencesToRemove)For each occurrence of an element  einoccurrencesToRemove,
 removes one occurrence ofeinmultisetToModify. | 
| static boolean | retainOccurrences(Multiset<?> multisetToModify,
                                  Multiset<?> multisetToRetain)Modifies  multisetToModifyso that its count for an elementeis at mostmultisetToRetain.count(e). | 
| static <E> Multiset<E> | sum(Multiset<? extends E> multiset1,
      Multiset<? extends E> multiset2)Returns an unmodifiable view of the sum of two multisets. | 
| static <E> Multiset<E> | union(Multiset<? extends E> multiset1,
          Multiset<? extends E> multiset2)Returns an unmodifiable view of the union of two multisets. | 
| 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 negative@Beta @CheckReturnValue public static <E> Multiset<E> filter(Multiset<E> unfiltered, Predicate<? super E> predicate)
unfiltered that satisfy a predicate. The returned
 multiset is a live view of unfiltered; changes to one affect the other.
 The resulting multiset's iterators, and those of its entrySet() and
 elementSet(), do not support remove().  However, all other multiset methods
 supported by unfiltered are supported by the returned multiset. When given an element
 that doesn't satisfy the predicate, the multiset's add() and addAll() methods
 throw an IllegalArgumentException. When methods such as removeAll() and
 clear() are called on the filtered multiset, only elements that satisfy the filter
 will be removed from the underlying multiset.
 
The returned multiset isn't threadsafe or serializable, even if unfiltered is.
 
Many of the filtered multiset's methods, such as size(), iterate across every
 element in the underlying multiset and determine which elements satisfy the filter. When a
 live view is not needed, it may be faster to copy the returned multiset and use the
 copy.
 
Warning: predicate must be consistent with equals, as documented at
 Predicate.apply(T). Do not provide a predicate such as
 Predicates.instanceOf(ArrayList.class), which is inconsistent with equals. (See
 Iterables.filter(Iterable, Class) for related functionality.)
@Beta public static <E> Multiset<E> union(Multiset<? extends E> multiset1, Multiset<? extends E> multiset2)
multiset1
 followed by the members of the element set of multiset2 that are
 not contained in 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).
public 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 <E> Multiset<E> sum(Multiset<? extends E> multiset1, Multiset<? extends E> multiset2)
multiset1
 followed by the members of the element set of multiset2 that
 are not contained in 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 <E> Multiset<E> difference(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).
public static boolean containsOccurrences(Multiset<?> superMultiset, Multiset<?> subMultiset)
true if subMultiset.count(o) <=
 superMultiset.count(o) for all o.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 operationpublic static boolean removeOccurrences(Multiset<?> multisetToModify, Iterable<?> 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) -
 Iterables.frequency(occurrencesToRemove, 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 sometimes more efficient than, the following: 
   for (E e : occurrencesToRemove) {
     multisetToModify.remove(e);
   }true if multisetToModify was changed as a result of
         this operationMultiset)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 sometimes more efficient than, the following: 
   for (E e : occurrencesToRemove) {
     multisetToModify.remove(e);
   }true if multisetToModify was changed as a result of
         this operationIterable was present)@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-2015. All Rights Reserved.