Engineering Full Stack Apps with Java and JavaScript
SortedMap interface extends Map interface to further provide a total ordering on its keys.
SortedMap is ordered according to the natural ordering of its keys, or by a Comparator typically provided at sorted map creation time.
Order is reflected when iterating over the sorted map's collection views returned by the entrySet, keySet and values methods.
SortedMap is the map analogue of SortedSet.
All keys inserted into a sorted map must implement the Comparable interface or be accepted by the specified comparator.
All keys must be mutually comparable or will cause the offending method or constructor invocation to throw a ClassCastException.
The ordering maintained by a sorted map must be consistent with equals
The behavior of a tree map is well-defined even if its ordering is inconsistent with equals; it just fails to obey the general contract of the Map interface.
All general-purpose sorted map implementation classes should provide four "standard" constructors:
A no argument constructor, which creates an empty sorted map.
A constructor with a single argument of type Comparator, which creates an empty sorted map sorted according to the specified comparator.
A constructor with a single argument of type Map, which creates a new map with the same key-value mappings as its argument, sorted according to the keys' natural ordering.
A constructor with a single argument of type SortedMap, which creates a new sorted map with the same key-value mappings and the same ordering as the input sorted map.
Such ranges submaps returned by various methods are half-open,
that is, they include their low endpoint but not their high endpoint (where applicable).
If you need a closed range (which includes both endpoints), and the key type allows for calculation of the successor of a given key:
SortedMap<String, V> sub = m.subMap(low, high+"\0");
We can also generate an open range (which contains neither endpoint).
SortedMap<String, V> sub = m.subMap(low+"\0", high);
comparator()
Returns the comparator used or null if this map uses the natural ordering of its keys.
entrySet()
Returns a Set view of this map.
firstKey()
Returns the first (lowest) key currently in this map.
headMap(K toKey)
Returns a view portion of this map whose keys are strictly less than toKey.
keySet()
Returns a Set view of the keys contained in this map.
lastKey()
Returns the last (highest) key currently in this map.
subMap(K fromKey, K toKey)
Returns a view of the portion of this map whose keys range from fromKey, inclusive, to toKey, exclusive.
tailMap(K fromKey)
Returns a view of the portion of this map whose keys are greater than or equal to fromKey.
values()
Returns a Collection view of the values contained in this map.