| java.util.NavigableMap<K, V> | 
|  Known Indirect Subclasses | 
A SortedMap extended with navigation methods returning the
 closest matches for given search targets. Methods
 lowerEntry, floorEntry, ceilingEntry,
 and higherEntry return Map.Entry objects
 associated with keys respectively less than, less than or equal,
 greater than or equal, and greater than a given key, returning
 null if there is no such key.  Similarly, methods
 lowerKey, floorKey, ceilingKey, and
 higherKey return only the associated keys. All of these
 methods are designed for locating, not traversing entries.
 
A NavigableMap may be accessed and traversed in either
 ascending or descending key order.  The descendingMap
 method returns a view of the map with the senses of all relational
 and directional methods inverted. The performance of ascending
 operations and views is likely to be faster than that of descending
 ones.  Methods subMap, headMap,
 and tailMap differ from the like-named SortedMap methods in accepting additional arguments describing
 whether lower and upper bounds are inclusive versus exclusive.
 Submaps of any NavigableMap must implement the NavigableMap interface.
 
This interface additionally defines methods firstEntry,
 pollFirstEntry, lastEntry, and
 pollLastEntry that return and/or remove the least and
 greatest mappings, if any exist, else returning null.
 
Implementations of entry-returning methods are expected to
 return Map.Entry pairs representing snapshots of mappings
 at the time they were produced, and thus generally do not
 support the optional Entry.setValue method. Note however
 that it is possible to change mappings in the associated map using
 method put.
 
Methods
 subMap(K, K),
 headMap(K), and
 tailMap(K)
 are specified to return SortedMap to allow existing
 implementations of SortedMap to be compatibly retrofitted to
 implement NavigableMap, but extensions and implementations
 of this interface are encouraged to override these methods to return
 NavigableMap.  Similarly,
 keySet() can be overriden to return NavigableSet.
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Returns a key-value mapping associated with the least key
 greater than or equal to the given key, or  nullif
 there is no such key. | |||||||||||
| Returns the least key greater than or equal to the given key,
 or  nullif there is no such key. | |||||||||||
| Returns a reverse order  NavigableSetview of the keys contained in this map. | |||||||||||
| Returns a reverse order view of the mappings contained in this map. | |||||||||||
| Returns a key-value mapping associated with the least
 key in this map, or  nullif the map is empty. | |||||||||||
| Returns a key-value mapping associated with the greatest key
 less than or equal to the given key, or  nullif there
 is no such key. | |||||||||||
| Returns the greatest key less than or equal to the given key,
 or  nullif there is no such key. | |||||||||||
| Returns a view of the portion of this map whose keys are less than (or
 equal to, if  inclusiveis true)toKey. | |||||||||||
| Returns a sorted map over a range of this sorted map with all keys that
 are less than the specified  endKey.Equivalent to  | |||||||||||
| Returns a key-value mapping associated with the least key
 strictly greater than the given key, or  nullif there
 is no such key. | |||||||||||
| Returns the least key strictly greater than the given key, or
  nullif there is no such key. | |||||||||||
| Returns a key-value mapping associated with the greatest
 key in this map, or  nullif the map is empty. | |||||||||||
| Returns a key-value mapping associated with the greatest key
 strictly less than the given key, or  nullif there is
 no such key. | |||||||||||
| Returns the greatest key strictly less than the given key, or
  nullif there is no such key. | |||||||||||
| Returns a  NavigableSetview of the keys contained in this map. | |||||||||||
| Removes and returns a key-value mapping associated with
 the least key in this map, or  nullif the map is empty. | |||||||||||
| Removes and returns a key-value mapping associated with
 the greatest key in this map, or  nullif the map is empty. | |||||||||||
| Returns a sorted map over a range of this sorted map with all keys
 greater than or equal to the specified  startKeyand less than the
 specifiedendKey.Equivalent to  | |||||||||||
| Returns a view of the portion of this map whose keys range from
  fromKeytotoKey. | |||||||||||
| Returns a sorted map over a range of this sorted map with all keys that
 are greater than or equal to the specified  startKey.Equivalent to  | |||||||||||
| Returns a view of the portion of this map whose keys are greater than (or
 equal to, if  inclusiveis true)fromKey. | |||||||||||
| [Expand] Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From interface
  java.util.Map | |||||||||||
|  From interface
  java.util.SortedMap | |||||||||||
Returns a key-value mapping associated with the least key
 greater than or equal to the given key, or null if
 there is no such key.
| key | the key | 
|---|
key, or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns the least key greater than or equal to the given key,
 or null if there is no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns a reverse order NavigableSet view of the keys contained in this map.
 The set's iterator returns the keys in descending order.
 The set is backed by the map, so changes to the map are reflected in
 the set, and vice-versa.  If the map is modified while an iteration
 over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined.  The
 set supports element removal, which removes the corresponding mapping
 from the map, via the Iterator.remove, Set.remove,
 removeAll, retainAll, and clear operations.
 It does not support the add or addAll operations.
Returns a reverse order view of the mappings contained in this map.
 The descending map is backed by this map, so changes to the map are
 reflected in the descending map, and vice-versa.  If either map is
 modified while an iteration over a collection view of either map
 is in progress (except through the iterator's own remove
 operation), the results of the iteration are undefined.
 
The returned map has an ordering equivalent to
 Collections.reverseOrder(comparator()).
 The expression m.descendingMap().descendingMap() returns a
 view of m essentially equivalent to m.
Returns a key-value mapping associated with the least
 key in this map, or null if the map is empty.
null if this map is empty
Returns a key-value mapping associated with the greatest key
 less than or equal to the given key, or null if there
 is no such key.
| key | the key | 
|---|
key, or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns the greatest key less than or equal to the given key,
 or null if there is no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns a view of the portion of this map whose keys are less than (or
 equal to, if inclusive is true) toKey.  The returned
 map is backed by this map, so changes in the returned map are reflected
 in this map, and vice-versa.  The returned map supports all optional
 map operations that this map supports.
 
The returned map will throw an IllegalArgumentException
 on an attempt to insert a key outside its range.
| toKey | high endpoint of the keys in the returned map | 
|---|---|
| inclusive | trueif the high endpoint
        is to be included in the returned view | 
inclusive is true) toKey| ClassCastException | if toKeyis not compatible
         with this map's comparator (or, if the map has no comparator,
         iftoKeydoes not implementComparable).
         Implementations may, but are not required to, throw this
         exception iftoKeycannot be compared to keys
         currently in the map. | 
|---|---|
| NullPointerException | if toKeyis null
         and this map does not permit null keys | 
| IllegalArgumentException | if this map itself has a
         restricted range, and toKeylies outside the
         bounds of the range | 
Returns a sorted map over a range of this sorted map with all keys that
 are less than the specified endKey. Changes to the returned
 sorted map are reflected in this sorted map and vice versa.
 
Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to headMap(toKey, false).
| toKey | the high boundary of the range specified. | 
|---|
endKey.Returns a key-value mapping associated with the least key
 strictly greater than the given key, or null if there
 is no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns the least key strictly greater than the given key, or
 null if there is no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns a key-value mapping associated with the greatest
 key in this map, or null if the map is empty.
null if this map is empty
Returns a key-value mapping associated with the greatest key
 strictly less than the given key, or null if there is
 no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns the greatest key strictly less than the given key, or
 null if there is no such key.
| key | the key | 
|---|
key,
         or null if there is no such key| ClassCastException | if the specified key cannot be compared with the keys currently in the map | 
|---|---|
| NullPointerException | if the specified key is null and this map does not permit null keys | 
Returns a NavigableSet view of the keys contained in this map.
 The set's iterator returns the keys in ascending order.
 The set is backed by the map, so changes to the map are reflected in
 the set, and vice-versa.  If the map is modified while an iteration
 over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined.  The
 set supports element removal, which removes the corresponding mapping
 from the map, via the Iterator.remove, Set.remove,
 removeAll, retainAll, and clear operations.
 It does not support the add or addAll operations.
Removes and returns a key-value mapping associated with
 the least key in this map, or null if the map is empty.
null if this map is empty
Removes and returns a key-value mapping associated with
 the greatest key in this map, or null if the map is empty.
null if this map is empty
Returns a sorted map over a range of this sorted map with all keys
 greater than or equal to the specified startKey and less than the
 specified endKey. Changes to the returned sorted map are
 reflected in this sorted map and vice versa.
 
Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to subMap(fromKey, true, toKey, false).
| fromKey | the low boundary of the range (inclusive). | 
|---|---|
| toKey | the high boundary of the range (exclusive), | 
Returns a view of the portion of this map whose keys range from
 fromKey to toKey.  If fromKey and
 toKey are equal, the returned map is empty unless
 fromExclusive and toExclusive are both true.  The
 returned map is backed by this map, so changes in the returned map are
 reflected in this map, and vice-versa.  The returned map supports all
 optional map operations that this map supports.
 
The returned map will throw an IllegalArgumentException
 on an attempt to insert a key outside of its range, or to construct a
 submap either of whose endpoints lie outside its range.
| fromKey | low endpoint of the keys in the returned map | 
|---|---|
| fromInclusive | trueif the low endpoint
        is to be included in the returned view | 
| toKey | high endpoint of the keys in the returned map | 
| toInclusive | trueif the high endpoint
        is to be included in the returned view | 
fromKey to toKey| ClassCastException | if fromKeyandtoKeycannot be compared to one another using this map's comparator
         (or, if the map has no comparator, using natural ordering).
         Implementations may, but are not required to, throw this
         exception iffromKeyortoKeycannot be compared to keys currently in the map. | 
|---|---|
| NullPointerException | if fromKeyortoKeyis null and this map does not permit null keys | 
| IllegalArgumentException | if fromKeyis greater thantoKey; or if this map itself has a restricted
         range, andfromKeyortoKeylies
         outside the bounds of the range | 
Returns a sorted map over a range of this sorted map with all keys that
 are greater than or equal to the specified startKey. Changes to
 the returned sorted map are reflected in this sorted map and vice versa.
 
Note: The returned map will not allow an insertion of a key outside the specified range.
Equivalent to tailMap(fromKey, true).
| fromKey | the low boundary of the range specified. | 
|---|
startKey.Returns a view of the portion of this map whose keys are greater than (or
 equal to, if inclusive is true) fromKey.  The returned
 map is backed by this map, so changes in the returned map are reflected
 in this map, and vice-versa.  The returned map supports all optional
 map operations that this map supports.
 
The returned map will throw an IllegalArgumentException
 on an attempt to insert a key outside its range.
| fromKey | low endpoint of the keys in the returned map | 
|---|---|
| inclusive | trueif the low endpoint
        is to be included in the returned view | 
inclusive is true) fromKey| ClassCastException | if fromKeyis not compatible
         with this map's comparator (or, if the map has no comparator,
         iffromKeydoes not implementComparable).
         Implementations may, but are not required to, throw this
         exception iffromKeycannot be compared to keys
         currently in the map. | 
|---|---|
| NullPointerException | if fromKeyis null
         and this map does not permit null keys | 
| IllegalArgumentException | if this map itself has a
         restricted range, and fromKeylies outside the
         bounds of the range |