aboutsummaryrefslogtreecommitdiffstats
path: root/guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java')
-rw-r--r--guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java49
1 files changed, 24 insertions, 25 deletions
diff --git a/guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java b/guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java
index d2d0088..f5630dd 100644
--- a/guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java
+++ b/guava/src/com/google/common/collect/DescendingImmutableSortedMultiset.java
@@ -1,11 +1,11 @@
/*
* Copyright (C) 2011 The Guava Authors
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
@@ -18,14 +18,14 @@ import javax.annotation.Nullable;
/**
* A descending wrapper around an {@code ImmutableSortedMultiset}
- *
+ *
* @author Louis Wasserman
*/
-@SuppressWarnings("serial") // uses writeReplace, not default serialization
final class DescendingImmutableSortedMultiset<E> extends ImmutableSortedMultiset<E> {
private final transient ImmutableSortedMultiset<E> forward;
DescendingImmutableSortedMultiset(ImmutableSortedMultiset<E> forward) {
+ super(forward.reverseComparator());
this.forward = forward;
}
@@ -50,29 +50,18 @@ final class DescendingImmutableSortedMultiset<E> extends ImmutableSortedMultiset
}
@Override
- public ImmutableSortedSet<E> elementSet() {
- return forward.elementSet().descendingSet();
+ ImmutableSortedSet<E> createElementSet() {
+ return forward.createDescendingElementSet();
}
@Override
- ImmutableSet<Entry<E>> createEntrySet() {
- final ImmutableSet<Entry<E>> forwardEntrySet = forward.entrySet();
- return new EntrySet() {
- @Override
- public int size() {
- return forwardEntrySet.size();
- }
-
- @Override
- public UnmodifiableIterator<Entry<E>> iterator() {
- return asList().iterator();
- }
-
- @Override
- ImmutableList<Entry<E>> createAsList() {
- return forwardEntrySet.asList().reverse();
- }
- };
+ ImmutableSortedSet<E> createDescendingElementSet() {
+ return forward.elementSet();
+ }
+
+ @Override
+ UnmodifiableIterator<Entry<E>> descendingEntryIterator() {
+ return forward.entryIterator();
}
@Override
@@ -91,6 +80,16 @@ final class DescendingImmutableSortedMultiset<E> extends ImmutableSortedMultiset
}
@Override
+ UnmodifiableIterator<Entry<E>> entryIterator() {
+ return forward.descendingEntryIterator();
+ }
+
+ @Override
+ int distinctElements() {
+ return forward.distinctElements();
+ }
+
+ @Override
boolean isPartialView() {
return forward.isPartialView();
}