Class SafeTreeMap<K,​V>

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Map<K,​V>, java.util.NavigableMap<K,​V>, java.util.SortedMap<K,​V>

    @GwtIncompatible
    public final class SafeTreeMap<K,​V>
    extends java.lang.Object
    implements java.io.Serializable, java.util.NavigableMap<K,​V>
    A wrapper around TreeMap that aggressively checks to see if keys are mutually comparable. This implementation passes the navigable map test suites.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Constructor Summary

      Constructors 
      Constructor Description
      SafeTreeMap()  
      SafeTreeMap​(java.util.Comparator<? super K> comparator)  
      SafeTreeMap​(java.util.Map<? extends K,​? extends V> map)  
      SafeTreeMap​(java.util.SortedMap<K,​? extends V> map)  
    • Constructor Detail

      • SafeTreeMap

        public SafeTreeMap()
      • SafeTreeMap

        public SafeTreeMap​(java.util.Comparator<? super K> comparator)
      • SafeTreeMap

        public SafeTreeMap​(java.util.Map<? extends K,​? extends V> map)
      • SafeTreeMap

        public SafeTreeMap​(java.util.SortedMap<K,​? extends V> map)
    • Method Detail

      • ceilingEntry

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

        public K ceilingKey​(K key)
        Specified by:
        ceilingKey in interface java.util.NavigableMap<K,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Map<K,​V>
      • comparator

        public java.util.Comparator<? super K> comparator()
        Specified by:
        comparator in interface java.util.SortedMap<K,​V>
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Specified by:
        containsKey in interface java.util.Map<K,​V>
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Specified by:
        containsValue in interface java.util.Map<K,​V>
      • descendingKeySet

        public java.util.NavigableSet<K> descendingKeySet()
        Specified by:
        descendingKeySet in interface java.util.NavigableMap<K,​V>
      • descendingMap

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

        public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<K,​V>
        Specified by:
        entrySet in interface java.util.SortedMap<K,​V>
      • firstEntry

        public java.util.Map.Entry<K,​V> firstEntry()
        Specified by:
        firstEntry in interface java.util.NavigableMap<K,​V>
      • firstKey

        public K firstKey()
        Specified by:
        firstKey in interface java.util.SortedMap<K,​V>
      • floorEntry

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

        public K floorKey​(K key)
        Specified by:
        floorKey in interface java.util.NavigableMap<K,​V>
      • get

        public V get​(java.lang.Object key)
        Specified by:
        get in interface java.util.Map<K,​V>
      • headMap

        public java.util.SortedMap<K,​V> headMap​(K toKey)
        Specified by:
        headMap in interface java.util.NavigableMap<K,​V>
        Specified by:
        headMap in interface java.util.SortedMap<K,​V>
      • headMap

        public java.util.NavigableMap<K,​V> headMap​(K toKey,
                                                         boolean inclusive)
        Specified by:
        headMap in interface java.util.NavigableMap<K,​V>
      • higherEntry

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

        public K higherKey​(K key)
        Specified by:
        higherKey in interface java.util.NavigableMap<K,​V>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Map<K,​V>
      • keySet

        public java.util.NavigableSet<K> keySet()
        Specified by:
        keySet in interface java.util.Map<K,​V>
        Specified by:
        keySet in interface java.util.SortedMap<K,​V>
      • lastEntry

        public java.util.Map.Entry<K,​V> lastEntry()
        Specified by:
        lastEntry in interface java.util.NavigableMap<K,​V>
      • lastKey

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

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

        public K lowerKey​(K key)
        Specified by:
        lowerKey in interface java.util.NavigableMap<K,​V>
      • navigableKeySet

        public java.util.NavigableSet<K> navigableKeySet()
        Specified by:
        navigableKeySet in interface java.util.NavigableMap<K,​V>
      • pollFirstEntry

        public java.util.Map.Entry<K,​V> pollFirstEntry()
        Specified by:
        pollFirstEntry in interface java.util.NavigableMap<K,​V>
      • pollLastEntry

        public java.util.Map.Entry<K,​V> pollLastEntry()
        Specified by:
        pollLastEntry in interface java.util.NavigableMap<K,​V>
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface java.util.Map<K,​V>
      • putAll

        public void putAll​(java.util.Map<? extends K,​? extends V> map)
        Specified by:
        putAll in interface java.util.Map<K,​V>
      • remove

        public V remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map<K,​V>
      • size

        public int size()
        Specified by:
        size in interface java.util.Map<K,​V>
      • 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,​V>
      • subMap

        public java.util.SortedMap<K,​V> subMap​(K fromKey,
                                                     K toKey)
        Specified by:
        subMap in interface java.util.NavigableMap<K,​V>
        Specified by:
        subMap in interface java.util.SortedMap<K,​V>
      • tailMap

        public java.util.SortedMap<K,​V> tailMap​(K fromKey)
        Specified by:
        tailMap in interface java.util.NavigableMap<K,​V>
        Specified by:
        tailMap in interface java.util.SortedMap<K,​V>
      • tailMap

        public java.util.NavigableMap<K,​V> tailMap​(K fromKey,
                                                         boolean inclusive)
        Specified by:
        tailMap in interface java.util.NavigableMap<K,​V>
      • values

        public java.util.Collection<V> values()
        Specified by:
        values in interface java.util.Map<K,​V>
        Specified by:
        values in interface java.util.SortedMap<K,​V>
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface java.util.Map<K,​V>
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.util.Map<K,​V>
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object