protected abstract class ForwardingSortedMultiset.StandardDescendingMultiset extends ForwardingMultiset<E>
descendingMultiset() will not reflect any changes you make to the behavior of methods such as
ForwardingCollection.add(Object) or pollFirstEntry(). This skeleton implementation correctly
delegates each of its operations to the appropriate methods of this ForwardingSortedMultiset.
In many cases, you may wish to override descendingMultiset() to return an instance
of a subclass of StandardDescendingMultiset.
ForwardingMultiset.StandardElementSetMultiset.Entry<E>| Constructor and Description |
|---|
StandardDescendingMultiset()
Constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
Comparator<? super E> |
comparator()
Returns the comparator that orders this multiset, or
Ordering.natural() if the natural
ordering of the elements is used. |
protected Multiset<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
SortedMultiset<E> |
descendingMultiset()
Returns a descending view of this multiset.
|
NavigableSet<E> |
elementSet()
Returns the set of distinct elements contained in this multiset.
|
Set<Multiset.Entry<E>> |
entrySet()
Returns a view of the contents of this multiset, grouped into
Multiset.Entry instances,
each providing an element of the multiset and the count of that element. |
Multiset.Entry<E> |
firstEntry()
Returns the entry of the first element in this multiset, or
null if this multiset is
empty. |
SortedMultiset<E> |
headMultiset(E toElement,
BoundType boundType)
Returns a view of this multiset restricted to the elements less than
upperBound,
optionally including upperBound itself. |
Iterator<E> |
iterator()
Returns an iterator over the elements in this collection.
|
Multiset.Entry<E> |
lastEntry()
Returns the entry of the last element in this multiset, or
null if this multiset is
empty. |
Multiset.Entry<E> |
pollFirstEntry()
Returns and removes the entry associated with the lowest element in this multiset, or returns
null if this multiset is empty. |
Multiset.Entry<E> |
pollLastEntry()
Returns and removes the entry associated with the greatest element in this multiset, or returns
null if this multiset is empty. |
SortedMultiset<E> |
subMultiset(E fromElement,
BoundType fromBoundType,
E toElement,
BoundType toBoundType)
Returns a view of this multiset restricted to the range between
lowerBound and upperBound. |
SortedMultiset<E> |
tailMultiset(E fromElement,
BoundType boundType)
Returns a view of this multiset restricted to the elements greater than
lowerBound,
optionally including lowerBound itself. |
Object[] |
toArray()
Returns an array containing all of the elements in this collection.
|
<T> T[] |
toArray(T[] array)
Returns an array containing all of the elements in this collection;
the runtime type of the returned array is that of the specified array.
|
String |
toString()
Returns the string representation generated by the delegate's
toString method. |
add, count, equals, hashCode, remove, setCount, setCount, standardAdd, standardAddAll, standardClear, standardContains, standardCount, standardEquals, standardHashCode, standardIterator, standardRemove, standardRemoveAll, standardRetainAll, standardSetCount, standardSetCount, standardSize, standardToStringadd, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, standardContainsAll, standardIsEmpty, standardToArray, standardToArrayclone, finalize, getClass, notify, notifyAll, wait, wait, waitadd, add, contains, containsAll, count, equals, forEach, forEachEntry, hashCode, remove, remove, removeAll, retainAll, setCount, setCount, size, spliteratoraddAll, clear, isEmpty, parallelStream, removeIf, streampublic StandardDescendingMultiset()
public Comparator<? super E> comparator()
SortedMultisetOrdering.natural() if the natural
ordering of the elements is used.comparator in interface SortedMultiset<E>public NavigableSet<E> elementSet()
MultisetIf the element set supports any removal operations, these necessarily cause all occurrences of the removed element(s) to be removed from the multiset. Implementations are not expected to support the add operations, although this is possible.
A common use for the element set is to find the number of distinct elements in the multiset:
elementSet().size().
elementSet in interface Multiset<E>elementSet in interface SortedMultiset<E>elementSet in class ForwardingMultiset<E>public Multiset.Entry<E> pollFirstEntry()
SortedMultisetnull if this multiset is empty.pollFirstEntry in interface SortedMultiset<E>public Multiset.Entry<E> pollLastEntry()
SortedMultisetnull if this multiset is empty.pollLastEntry in interface SortedMultiset<E>public SortedMultiset<E> headMultiset(E toElement, BoundType boundType)
SortedMultisetupperBound,
optionally including upperBound itself. The returned multiset is a view of this
multiset, so changes to one will be reflected in the other. The returned multiset supports all
operations that this multiset supports.
The returned multiset will throw an IllegalArgumentException on attempts to add
elements outside its range.
headMultiset in interface SortedMultiset<E>public SortedMultiset<E> subMultiset(E fromElement, BoundType fromBoundType, E toElement, BoundType toBoundType)
SortedMultisetlowerBound and upperBound. The returned multiset is a view of this multiset, so changes to one will be
reflected in the other. The returned multiset supports all operations that this multiset
supports.
The returned multiset will throw an IllegalArgumentException on attempts to add
elements outside its range.
This method is equivalent to tailMultiset(lowerBound,
lowerBoundType).headMultiset(upperBound, upperBoundType).
subMultiset in interface SortedMultiset<E>public SortedMultiset<E> tailMultiset(E fromElement, BoundType boundType)
SortedMultisetlowerBound,
optionally including lowerBound itself. The returned multiset is a view of this
multiset, so changes to one will be reflected in the other. The returned multiset supports all
operations that this multiset supports.
The returned multiset will throw an IllegalArgumentException on attempts to add
elements outside its range.
tailMultiset in interface SortedMultiset<E>protected Multiset<E> delegate()
ForwardingObjectForwardingSet.delegate(). Concrete subclasses override this method to supply the
instance being decorated.delegate in class ForwardingMultiset<E>public SortedMultiset<E> descendingMultiset()
SortedMultisetdescendingMultiset in interface SortedMultiset<E>public Multiset.Entry<E> firstEntry()
SortedMultisetnull if this multiset is
empty.firstEntry in interface SortedMultiset<E>public Multiset.Entry<E> lastEntry()
SortedMultisetnull if this multiset is
empty.lastEntry in interface SortedMultiset<E>public Set<Multiset.Entry<E>> entrySet()
MultisetMultiset.Entry instances,
each providing an element of the multiset and the count of that element. This set contains
exactly one entry for each distinct element in the multiset (thus it always has the same size
as the Multiset.elementSet()). The order of the elements in the element set is unspecified.
The entry set is backed by the same data as the multiset, so any change to either is
immediately reflected in the other. However, multiset changes may or may not be reflected in
any Entry instances already retrieved from the entry set (this is
implementation-dependent). Furthermore, implementations are not required to support
modifications to the entry set at all, and the Entry instances themselves don't even
have methods for modification. See the specific implementation class for more details on how
its entry set handles modifications.
entrySet in interface Multiset<E>entrySet in interface SortedMultiset<E>entrySet in class ForwardingMultiset<E>public Iterator<E> iterator()
java.util.Collectioniterator in interface Multiset<E>iterator in interface SortedMultiset<E>iterator in interface Iterable<E>iterator in interface Collection<E>iterator in class ForwardingCollection<E>public Object[] toArray()
java.util.CollectionThe returned array will be "safe" in that no references to it are maintained by this collection. (In other words, this method must allocate a new array even if this collection is backed by an array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
toArray in interface Collection<E>toArray in class ForwardingCollection<E>public <T> T[] toArray(T[] array)
java.util.CollectionIf this collection fits in the specified array with room to spare (i.e., the array has more elements than this collection), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of this collection only if the caller knows that this collection does not contain any null elements.)
If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
Like the Collection.toArray() method, this method acts as bridge between
array-based and collection-based APIs. Further, this method allows
precise control over the runtime type of the output array, and may,
under certain circumstances, be used to save allocation costs.
Suppose x is a collection known to contain only strings. The following code can be used to dump the collection into a newly allocated array of String:
String[] y = x.toArray(new String[0]);
Note that toArray(new Object[0]) is identical in function to
toArray().toArray in interface Collection<E>toArray in class ForwardingCollection<E>T - the runtime type of the array to contain the collectionarray - the array into which the elements of this collection are to be
stored, if it is big enough; otherwise, a new array of the same
runtime type is allocated for this purpose.public String toString()
ForwardingObjecttoString method.toString in interface Multiset<E>toString in class ForwardingObjectCopyright © 2010–2018. All rights reserved.