K - the type of keys maintained by this mapV - the type of mapped valuespublic interface NavigableMap<K,V> extends SortedMap<K,V>
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 viewed and traversed in either
ascending or descending key order. The Map methods
keySet and entrySet return ascending views, and
the additional methods descendingKeySet and
descendingEntrySet return descending views. The
performance of ascending traversals is likely to be faster than
descending traversals. Notice that it is possible to perform
subrannge traversals in either direction using SubMap.
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.
| Modifier and Type | Method and Description |
|---|---|
Map.Entry<K,V> |
ceilingEntry(K key)
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 entry. |
K |
ceilingKey(K key)
Returns least key greater than or equal to the given key, or
null if there is no such key. |
Set<Map.Entry<K,V>> |
descendingEntrySet()
Returns a set view of the mappings contained in this map, in
descending key order.
|
Set<K> |
descendingKeySet()
Returns a set view of the keys contained in this map, in
descending key order.
|
Map.Entry<K,V> |
firstEntry()
Returns a key-value mapping associated with the least
key in this map, or
null if the map is empty. |
Map.Entry<K,V> |
floorEntry(K key)
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 entry. |
K |
floorKey(K key)
Returns the greatest key
less than or equal to the given key, or
null if there
is no such key. |
NavigableMap<K,V> |
headMap(K toKey)
Returns a view of the portion of this map whose keys are strictly less
than
toKey. |
Map.Entry<K,V> |
higherEntry(K key)
Returns a key-value mapping associated with the least key
strictly greater than the given key, or
null if there
is no such entry. |
K |
higherKey(K key)
Returns the least key strictly greater than the given key, or
null if there is no such key. |
Map.Entry<K,V> |
lastEntry()
Returns a key-value mapping associated with the greatest
key in this map, or
null if the map is empty. |
Map.Entry<K,V> |
lowerEntry(K key)
Returns a key-value mapping associated with the greatest
key strictly less than the given key, or
null if there is no
such entry. |
K |
lowerKey(K key)
Returns the greatest key strictly less than the given key, or
null if there is no such key. |
Map.Entry<K,V> |
pollFirstEntry()
Removes and returns a key-value mapping associated with
the least key in this map, or
null if the map is empty. |
Map.Entry<K,V> |
pollLastEntry()
Removes and returns a key-value mapping associated with
the greatest key in this map, or
null if the map is empty. |
NavigableMap<K,V> |
subMap(K fromKey,
K toKey)
Returns a view of the portion of this map whose keys range from
fromKey, inclusive, to toKey, exclusive. |
NavigableMap<K,V> |
tailMap(K fromKey)
Returns a view of the portion of this map whose keys are
greater than or equal to
fromKey. |
Map.Entry<K,V> ceilingEntry(K key)
null if there is
no such entry.key - the keynull
if there is no such EntryClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysK ceilingKey(K key)
null if there is no such key.key - the keynull
if there is no such keyClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysMap.Entry<K,V> lowerEntry(K key)
null if there is no
such entry.key - the keynull if there is no such EntryClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysK lowerKey(K key)
null if there is no such key.key - the keynull if there is no such keyClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysMap.Entry<K,V> floorEntry(K key)
null if there
is no such entry.key - the keynull
if there is no such EntryClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysK floorKey(K key)
null if there
is no such key.key - the keynull if there is no
such keyClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysMap.Entry<K,V> higherEntry(K key)
null if there
is no such entry.key - the keynull if there is no such EntryClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysK higherKey(K key)
null if there is no such key.key - the keynull if there is no such keyClassCastException - if key cannot be compared with the keys
currently in the mapNullPointerException - if key is null and this map
does not support null keysMap.Entry<K,V> firstEntry()
null if the map is empty.null
if the map is emptyMap.Entry<K,V> lastEntry()
null if the map is empty.null
if the map is emptyMap.Entry<K,V> pollFirstEntry()
null if the map is empty.null
if the map is emptyMap.Entry<K,V> pollLastEntry()
null if the map is empty.null
if the map is emptySet<K> descendingKeySet()
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.Set<Map.Entry<K,V>> descendingEntrySet()
Map.Entry. 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,
or through the setValue operation on a map entry
returned by the iterator) 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.NavigableMap<K,V> subMap(K fromKey, K toKey)
fromKey, inclusive, to toKey, exclusive. (If
fromKey and toKey are equal, the returned sorted map
is empty.) The returned sorted map is backed by this map, so changes
in the returned sorted map are reflected in this map, and vice-versa.subMap in interface SortedMap<K,V>fromKey - low endpoint (inclusive) of the subMaptoKey - high endpoint (exclusive) of the subMapfromKey, inclusive, to toKey, exclusiveClassCastException - if fromKey and
toKey cannot be compared to one another using this
map's comparator (or, if the map has no comparator, using
natural ordering)IllegalArgumentException - if fromKey is greater
than toKeyNullPointerException - if fromKey or
toKey is null and this map does not support
null keysNavigableMap<K,V> headMap(K toKey)
toKey. The returned sorted map is backed by this map, so
changes in the returned sorted map are reflected in this map, and
vice-versa.headMap in interface SortedMap<K,V>toKey - high endpoint (exclusive) of the headMaptoKeyClassCastException - if toKey is not compatible
with this map's comparator (or, if the map has no comparator,
if toKey does not implement Comparable)NullPointerException - if toKey is null
and this map does not support null keysNavigableMap<K,V> tailMap(K fromKey)
fromKey. The returned sorted
map is backed by this map, so changes in the returned sorted
map are reflected in this map, and vice-versa.tailMap in interface SortedMap<K,V>fromKey - low endpoint (inclusive) of the tailMapfromKeyClassCastException - if fromKey is not compatible
with this map's comparator (or, if the map has no comparator,
if fromKey does not implement Comparable)NullPointerException - if fromKey is null
and this map does not support null keys