|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.util.AbstractCollection<E>
com.google.common.collect.AbstractMultiset<E>
com.google.common.collect.TreeMultiset<E>
public final class TreeMultiset<E>
Multiset implementation backed by a TreeMap.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.google.common.collect.Multiset |
|---|
Multiset.Entry<E> |
| Constructor Summary | |
|---|---|
TreeMultiset()
Constructs a new, empty multiset, sorted according to the elements' natural order. |
|
TreeMultiset(Comparator<? super E> comparator)
Constructs a new, empty multiset, sorted according to the specified comparator. |
|
TreeMultiset(Iterable<? extends E> elements)
Constructs an empty multiset containing the given initial elements, sorted according to the elements' natural order. |
|
| Method Summary | |
|---|---|
boolean |
add(E element,
int occurrences)
Adds a number of occurrences of the specified element to this multiset. |
protected Map<E,AtomicInteger> |
backingMap()
|
int |
count(Object element)
Returns the number of occurrences of the specified element in this multiset. |
protected Set<E> |
createElementSet()
Creates a new instance of this multiset's element set, which will be returned by AbstractMultiset.elementSet. |
SortedSet<E> |
elementSet()
Returns a view of the elements of this multiset as a set. All remove operations on the returned set "write through" to the underlying multiset, removing all occurrences of the given elements. No add operations are supported. Note that you can use elementSet().size() to find
the number of distinct elements in this multiset. |
Set<Multiset.Entry<E>> |
entrySet()
Returns the data of this multiset as a set of Entry instances. |
Iterator<E> |
iterator()
|
int |
remove(Object element,
int occurrences)
Removes a number of occurrences of the specified element from this multiset. |
int |
removeAllOccurrences(Object element)
Removes all occurrences of the specified element from this multiset. |
int |
size()
|
| Methods inherited from class com.google.common.collect.AbstractMultiset |
|---|
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, toString |
| Methods inherited from class java.util.AbstractCollection |
|---|
toArray, toArray |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Collection |
|---|
toArray, toArray |
| Constructor Detail |
|---|
public TreeMultiset()
Comparable interface. Furthermore, all such elements must be
mutually comparable: e1.compareTo(e2) must not throw a
ClassCastException for any elements e1 and e2 in
the multiset. If the user attempts to add an element to the multiset that
violates this constraint (for example, the user attempts to add a string
element to a set whose elements are integers), the add(Object)
call will throw a ClassCastException.
Comparable,
TreeSetpublic TreeMultiset(Comparator<? super E> comparator)
comparator.compare(e1,
e2) must not throw a ClassCastException for any elements e1 and e2 in the multiset. If the user attempts to add an element
to the multiset that violates this constraint, the add(Object) call
will throw a ClassCastException.
comparator - the comparator that will be used to sort this multiset. A
null value indicates that the elements' natural ordering should
be used.public TreeMultiset(Iterable<? extends E> elements)
| Method Detail |
|---|
public SortedSet<E> elementSet()
elementSet().size() to find
the number of distinct elements in this multiset.
The returned set's methods are implemented by calling
Multiset.entrySet() methods.
In TreeMultiset, the return type of this method is narrowed
from Set to SortedSet.
elementSet in interface Multiset<E>elementSet in class AbstractMultiset<E>protected Set<E> createElementSet()
AbstractMultisetAbstractMultiset.elementSet.
protected Map<E,AtomicInteger> backingMap()
public Set<Multiset.Entry<E>> entrySet()
Entry instances. This
set contains precisely one Entry instance for each distinct element
of the multiset. The iteration order of this set is
implementation-dependent.
Invoking Multiset.Entry.getCount() on an entry in the returned
set always returns the current count of that element in the multiset, as
opposed to the count at the time the entry was retrieved.
entrySet in interface Multiset<E>entrySet in class AbstractMultiset<E>public int size()
AbstractMultisetThis implementation iterates across Multiset.entrySet() and
sums the counts of the entries.
size in interface Collection<E>size in class AbstractMultiset<E>public Iterator<E> iterator()
AbstractMultisetThis implementation usually invokes methods of the
Multiset.entrySet() iterator. As the only exception, the iterator's
remove method sometimes calls the multiset's remove.
iterator in interface Iterable<E>iterator in interface Collection<E>iterator in class AbstractMultiset<E>
public int count(@Nullable
Object element)
AbstractMultisetThis implementation iterates across Multiset.entrySet() and
sums the count of all entries.
count in interface Multiset<E>count in class AbstractMultiset<E>element - the element to look for
Iterables.frequency(java.lang.Iterable>, java.lang.Object)
public boolean add(@Nullable
E element,
int occurrences)
This implementation always throws an
UnsupportedOperationException. To support adding elements, override
it.
add in interface Multiset<E>add in class AbstractMultiset<E>element - the element to addoccurrences - the number of occurrences to add
true if the collection changed as a result (this should
always be the case unless occurrences is zero)
IllegalArgumentException - if the call would result in more than
Integer.MAX_VALUE occurrences of element in this
multiset.
public int remove(@Nullable
Object element,
int occurrences)
AbstractMultisetThis implementation always throws an
UnsupportedOperationException. To support removing elements,
override it.
remove in interface Multiset<E>remove in class AbstractMultiset<E>element - the element whose occurrences should be removedoccurrences - the number of occurrences of this element to remove
public int removeAllOccurrences(@Nullable
Object element)
AbstractMultisetMultiset.remove(java.lang.Object, int), which removes only one
occurrence at a time.
This implementation calls AbstractMultiset.remove(Object, int) with
Integer.MAX_VALUE occurrences.
removeAllOccurrences in interface Multiset<E>removeAllOccurrences in class AbstractMultiset<E>element - the element whose occurrences should all be removed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||