Class ForwardingNavigableMap.StandardDescendingMap

  • All Implemented Interfaces:
    java.util.Map<K,​V>, java.util.NavigableMap<K,​V>, java.util.SortedMap<K,​V>
    Enclosing class:
    ForwardingNavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>

    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
    • Constructor Summary

      Constructors 
      Constructor Description
      StandardDescendingMap()
      Constructor for use by subclasses.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map.Entry<K,​V> ceilingEntry​(K key)  
      K ceilingKey​(K key)  
      java.util.Comparator<? super K> comparator()  
      protected java.util.Map<K,​V> delegate()
      Returns the backing delegate instance that methods are forwarded to.
      java.util.NavigableSet<K> descendingKeySet()  
      java.util.NavigableMap<K,​V> descendingMap()  
      protected java.util.Iterator<java.util.Map.Entry<K,​V>> entryIterator()  
      java.util.Set<java.util.Map.Entry<K,​V>> entrySet()  
      java.util.Map.Entry<K,​V> firstEntry()  
      K firstKey()  
      java.util.Map.Entry<K,​V> floorEntry​(K key)  
      K floorKey​(K key)  
      java.util.SortedMap<K,​V> headMap​(K toKey)  
      java.util.NavigableMap<K,​V> headMap​(K toKey, boolean inclusive)  
      java.util.Map.Entry<K,​V> higherEntry​(K key)  
      K higherKey​(K key)  
      java.util.Set<K> keySet()  
      java.util.Map.Entry<K,​V> lastEntry()  
      K lastKey()  
      java.util.Map.Entry<K,​V> lowerEntry​(K key)  
      K lowerKey​(K key)  
      java.util.NavigableSet<K> navigableKeySet()  
      java.util.Map.Entry<K,​V> pollFirstEntry()  
      java.util.Map.Entry<K,​V> pollLastEntry()  
      void replaceAll​(java.util.function.BiFunction<? super K,​? super V,​? extends V> function)  
      java.util.NavigableMap<K,​V> subMap​(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)  
      java.util.SortedMap<K,​V> subMap​(K fromKey, K toKey)  
      java.util.SortedMap<K,​V> tailMap​(K fromKey)  
      java.util.NavigableMap<K,​V> tailMap​(K fromKey, boolean inclusive)  
      java.lang.String toString()
      Returns the string representation generated by the delegate's toString method.
      java.util.Collection<V> values()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
    • Method Detail

      • replaceAll

        public void replaceAll​(java.util.function.BiFunction<? super K,​? super V,​? extends V> function)
      • entryIterator

        protected java.util.Iterator<java.util.Map.Entry<K,​V>> entryIterator()
      • delegate

        protected final java.util.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 extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • comparator

        public java.util.Comparator<? super K> comparator()
        Specified by:
        comparator in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • firstKey

        public K firstKey()
        Specified by:
        firstKey in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • lastKey

        public K lastKey()
        Specified by:
        lastKey in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • lowerEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> lowerEntry​(K key)
        Specified by:
        lowerEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • lowerKey

        @CheckForNull
        public K lowerKey​(K key)
        Specified by:
        lowerKey in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • floorEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> floorEntry​(K key)
        Specified by:
        floorEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • floorKey

        @CheckForNull
        public K floorKey​(K key)
        Specified by:
        floorKey in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • ceilingEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> ceilingEntry​(K key)
        Specified by:
        ceilingEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • ceilingKey

        @CheckForNull
        public K ceilingKey​(K key)
        Specified by:
        ceilingKey in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • higherEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> higherEntry​(K key)
        Specified by:
        higherEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • higherKey

        @CheckForNull
        public K higherKey​(K key)
        Specified by:
        higherKey in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • firstEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> firstEntry()
        Specified by:
        firstEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • lastEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> lastEntry()
        Specified by:
        lastEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • pollFirstEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> pollFirstEntry()
        Specified by:
        pollFirstEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • pollLastEntry

        @CheckForNull
        public java.util.Map.Entry<K,​V> pollLastEntry()
        Specified by:
        pollLastEntry in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • descendingMap

        public java.util.NavigableMap<K,​V> descendingMap()
        Specified by:
        descendingMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • entrySet

        public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        entrySet in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Overrides:
        entrySet in class ForwardingMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • keySet

        public java.util.Set<K> keySet()
        Specified by:
        keySet in interface java.util.Map<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        keySet in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Overrides:
        keySet in class ForwardingMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • navigableKeySet

        public java.util.NavigableSet<K> navigableKeySet()
        Specified by:
        navigableKeySet in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • descendingKeySet

        public java.util.NavigableSet<K> descendingKeySet()
        Specified by:
        descendingKeySet in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • subMap

        public java.util.NavigableMap<K,​V> subMap​(K fromKey,
                                                        boolean fromInclusive,
                                                        K toKey,
                                                        boolean toInclusive)
        Specified by:
        subMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • subMap

        public java.util.SortedMap<K,​V> subMap​(K fromKey,
                                                     K toKey)
        Specified by:
        subMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        subMap in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • headMap

        public java.util.NavigableMap<K,​V> headMap​(K toKey,
                                                         boolean inclusive)
        Specified by:
        headMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • headMap

        public java.util.SortedMap<K,​V> headMap​(K toKey)
        Specified by:
        headMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        headMap in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • tailMap

        public java.util.NavigableMap<K,​V> tailMap​(K fromKey,
                                                         boolean inclusive)
        Specified by:
        tailMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • tailMap

        public java.util.SortedMap<K,​V> tailMap​(K fromKey)
        Specified by:
        tailMap in interface java.util.NavigableMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        tailMap in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • values

        public java.util.Collection<V> values()
        Specified by:
        values in interface java.util.Map<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Specified by:
        values in interface java.util.SortedMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
        Overrides:
        values in class ForwardingMap<K extends @Nullable java.lang.Object,​V extends @Nullable java.lang.Object>
      • toString

        public java.lang.String toString()
        Description copied from class: ForwardingObject
        Returns the string representation generated by the delegate's toString method.
        Overrides:
        toString in class ForwardingObject