|
|||||||||
| 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.HashMultiset<E>
public final class HashMultiset<E>
Multiset implementation backed by a HashMap.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.google.common.collect.Multiset |
|---|
Multiset.Entry<E> |
| Constructor Summary | |
|---|---|
HashMultiset()
Constructs a new empty HashMultiset using the default initial
capacity (16 distinct elements) and load factor (0.75). |
|
HashMultiset(int distinctElements)
Constructs a new empty HashMultiset with the specified expected
number of distinct elements and the default load factor (0.75). |
|
HashMultiset(int initialCapacity,
float loadFactor)
Constructs a new empty HashMultiset using the specified initial
capacity (distinct elements) and load factor. |
|
HashMultiset(Iterable<? extends E> elements)
Constructs a new HashMultiset containing the specified elements. |
|
HashMultiset(Multiset<? extends E> elements)
Constructs a new HashMultiset containing the specified elements. |
|
| 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. |
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, elementSet, 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 HashMultiset()
HashMultiset using the default initial
capacity (16 distinct elements) and load factor (0.75).
public HashMultiset(int distinctElements)
HashMultiset with the specified expected
number of distinct elements and the default load factor (0.75).
distinctElements - the expected number of distinct elements
IllegalArgumentException - if distinctElements is negative
public HashMultiset(int initialCapacity,
float loadFactor)
HashMultiset using the specified initial
capacity (distinct elements) and load factor.
initialCapacity - the initial capacityloadFactor - the load factor
IllegalArgumentException - if the initial capacity is negativepublic HashMultiset(Iterable<? extends E> elements)
HashMultiset containing the specified elements. If
the specified elements is a Multiset instance, this constructor
behaves identically to HashMultiset(Multiset). Otherwise, the
default initial capacity (16 distinct elements) and load factor (0.75) is
used.
elements - the elements that the multiset should containpublic HashMultiset(Multiset<? extends E> elements)
HashMultiset containing the specified elements.
The multiset is created with the default load factor (0.75) and an initial
capacity sufficient to hold the specified elements.
elements - the elements that the multiset should contain| Method Detail |
|---|
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
protected Set<E> createElementSet()
AbstractMultisetAbstractMultiset.elementSet.
createElementSet in class AbstractMultiset<E>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||