## com.google.common.collect
Class ForwardingNavigableMap.StandardDescendingMap

    java.lang.Object
      com.google.common.collect.ForwardingObject
          com.google.common.collect.ForwardingMap<K,V>
              com.google.common.collect.ForwardingNavigableMap.StandardDescendingMap

All Implemented Interfaces:
  Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

Enclosing class:
  ForwardingNavigableMap<K,V>

    @Beta
    protected class ForwardingNavigableMap.StandardDescendingMap

extends ForwardingMap<K,V>

A sensible implementation of `NavigableMap.descendingMap()` in terms of the methods of this `NavigableMap`. In many cases, you may wish to override `ForwardingNavigableMap.descendingMap()` to forward to this implementation or a subclass thereof.

In particular, this map iterates over entries with repeated calls to `NavigableMap.lowerEntry(K)`. If a more efficient means of iteration is available, you may wish to override the `entryIterator()` method of this class.

Since:
  12.0

Nested Class Summary

Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
`ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues`

Nested classes/interfaces inherited from interface java.util.Map
`Map.Entry<K,V>`

Constructor Summary
`ForwardingNavigableMap.StandardDescendingMap()` Constructor for use by subclasses.

Method Summary
`Map.Entry<K,V>` `ceilingEntry(K key)`
`K` `ceilingKey(K key)`
`Comparator<? super K>` `comparator()`
`protected Map<K,V>` `delegate()` Returns the backing delegate instance that methods are forwarded to.
`NavigableSet<K>` `descendingKeySet()`
`NavigableMap<K,V>` `descendingMap()`
`protected Iterator<Map.Entry<K,V>>` `entryIterator()`
`Set<Map.Entry<K,V>>` `entrySet()`
`Map.Entry<K,V>` `firstEntry()`
`K` `firstKey()`
`Map.Entry<K,V>` `floorEntry(K key)`
`K` `floorKey(K key)`
`SortedMap<K,V>` `headMap(K toKey)`
`NavigableMap<K,V>` `headMap(K toKey, boolean inclusive)`
`Map.Entry<K,V>` `higherEntry(K key)`
`K` `higherKey(K key)`
`Set<K>` `keySet()`
`Map.Entry<K,V>` `lastEntry()`
`K` `lastKey()`
`Map.Entry<K,V>` `lowerEntry(K key)`
`K` `lowerKey(K key)`
`NavigableSet<K>` `navigableKeySet()`
`Map.Entry<K,V>` `pollFirstEntry()`
`Map.Entry<K,V>` `pollLastEntry()`
`NavigableMap<K,V>` `subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)`
`SortedMap<K,V>` `subMap(K fromKey, K toKey)`
`SortedMap<K,V>` `tailMap(K fromKey)`
`NavigableMap<K,V>` `tailMap(K fromKey, boolean inclusive)`
`Collection<V>` `values()`

Methods inherited from class com.google.common.collect.ForwardingMap
`clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString`

Methods inherited from class com.google.common.collect.ForwardingObject
`toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size`

Constructor Detail

### ForwardingNavigableMap.StandardDescendingMap

    public ForwardingNavigableMap.StandardDescendingMap()

  Constructor for use by subclasses.

Method Detail

### entryIterator

    protected Iterator<Map.Entry<K,V>> entryIterator()

### delegate

    protected final Map<K,V> delegate()

  Description copied from class: `ForwardingObject`
  Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as `ForwardingSet.delegate()`. Concrete subclasses override this method to supply the instance being decorated.

  Specified by:
    `delegate` in class `ForwardingMap<K,V>`

### comparator

    public Comparator<? super K> comparator()

  Specified by:
    `comparator` in interface `SortedMap<K,V>`

### firstKey

    public K firstKey()

  Specified by:
    `firstKey` in interface `SortedMap<K,V>`

### lastKey

    public K lastKey()

  Specified by:
    `lastKey` in interface `SortedMap<K,V>`

### lowerEntry

    public Map.Entry<K,V> lowerEntry(K key)

  Specified by:
    `lowerEntry` in interface `NavigableMap<K,V>`

### lowerKey

    public K lowerKey(K key)

  Specified by:
    `lowerKey` in interface `NavigableMap<K,V>`

### floorEntry

    public Map.Entry<K,V> floorEntry(K key)

  Specified by:
    `floorEntry` in interface `NavigableMap<K,V>`

### floorKey

    public K floorKey(K key)

  Specified by:
    `floorKey` in interface `NavigableMap<K,V>`

### ceilingEntry

    public Map.Entry<K,V> ceilingEntry(K key)

  Specified by:
    `ceilingEntry` in interface `NavigableMap<K,V>`

### ceilingKey

    public K ceilingKey(K key)

  Specified by:
    `ceilingKey` in interface `NavigableMap<K,V>`

### higherEntry

    public Map.Entry<K,V> higherEntry(K key)

  Specified by:
    `higherEntry` in interface `NavigableMap<K,V>`

### higherKey

    public K higherKey(K key)

  Specified by:
    `higherKey` in interface `NavigableMap<K,V>`

### firstEntry

    public Map.Entry<K,V> firstEntry()

  Specified by:
    `firstEntry` in interface `NavigableMap<K,V>`

### lastEntry

    public Map.Entry<K,V> lastEntry()

  Specified by:
    `lastEntry` in interface `NavigableMap<K,V>`

### pollFirstEntry

    public Map.Entry<K,V> pollFirstEntry()

  Specified by:
    `pollFirstEntry` in interface `NavigableMap<K,V>`

### pollLastEntry

    public Map.Entry<K,V> pollLastEntry()

  Specified by:
    `pollLastEntry` in interface `NavigableMap<K,V>`

### descendingMap

    public NavigableMap<K,V> descendingMap()

  Specified by:
    `descendingMap` in interface `NavigableMap<K,V>`

### entrySet

    public Set<Map.Entry<K,V>> entrySet()

  Specified by:
    `entrySet` in interface `Map<K,V>`
  Specified by:
    `entrySet` in interface `SortedMap<K,V>`
  Overrides:
    `entrySet` in class `ForwardingMap<K,V>`

### keySet

    public Set<K> keySet()

  Specified by:
    `keySet` in interface `Map<K,V>`
  Specified by:
    `keySet` in interface `SortedMap<K,V>`
  Overrides:
    `keySet` in class `ForwardingMap<K,V>`

### navigableKeySet

    public NavigableSet<K> navigableKeySet()

  Specified by:
    `navigableKeySet` in interface `NavigableMap<K,V>`

### descendingKeySet

    public NavigableSet<K> descendingKeySet()

  Specified by:
    `descendingKeySet` in interface `NavigableMap<K,V>`

### subMap

    public NavigableMap<K,V> subMap(K fromKey,
                                    boolean fromInclusive,
                                    K toKey,
                                    boolean toInclusive)

  Specified by:
    `subMap` in interface `NavigableMap<K,V>`

### headMap

    public NavigableMap<K,V> headMap(K toKey,
                                     boolean inclusive)

  Specified by:
    `headMap` in interface `NavigableMap<K,V>`

### tailMap

    public NavigableMap<K,V> tailMap(K fromKey,
                                     boolean inclusive)

  Specified by:
    `tailMap` in interface `NavigableMap<K,V>`

### subMap

    public SortedMap<K,V> subMap(K fromKey,
                                 K toKey)

  Specified by:
    `subMap` in interface `NavigableMap<K,V>`
  Specified by:
    `subMap` in interface `SortedMap<K,V>`

### headMap

    public SortedMap<K,V> headMap(K toKey)

  Specified by:
    `headMap` in interface `NavigableMap<K,V>`
  Specified by:
    `headMap` in interface `SortedMap<K,V>`

### tailMap

    public SortedMap<K,V> tailMap(K fromKey)

  Specified by:
    `tailMap` in interface `NavigableMap<K,V>`
  Specified by:
    `tailMap` in interface `SortedMap<K,V>`

### values

    public Collection<V> values()

  Specified by:
    `values` in interface `Map<K,V>`
  Specified by:
    `values` in interface `SortedMap<K,V>`
  Overrides:
    `values` in class `ForwardingMap<K,V>`

Copyright © 2010-2012. All Rights Reserved.