java.util
Interface SortedMap

All Superinterfaces:
Map
All Known Implementing Classes:
java.util.TreeMap.SubMap, java.util.Collections.SynchronizedSortedMap, TreeMap, java.util.Collections.UnmodifiableSortedMap

public interface SortedMap
extends Map

Untamed:


Method Summary
 Comparator comparator()
          Enabled: Returns the comparator associated with this sorted map, or null if it uses its keys' natural ordering.
 Object firstKey()
          Enabled: Returns the first (lowest) key currently in this sorted map.
 SortedMap headMap(Object toKey)
          Enabled: Returns a view of the portion of this sorted map whose keys are strictly less than toKey.
 Object lastKey()
          Enabled: Returns the last (highest) key currently in this sorted map.
 SortedMap subMap(Object fromKey, Object toKey)
          Enabled: Returns a view of the portion of this sorted map whose keys range from fromKey, inclusive, to toKey, exclusive.
 SortedMap tailMap(Object fromKey)
          Enabled: Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey.
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Method Detail

comparator

public Comparator comparator()
Enabled: Returns the comparator associated with this sorted map, or null if it uses its keys' natural ordering.

Returns:
the comparator associated with this sorted map, or null if it uses its keys' natural ordering.

subMap

public SortedMap subMap(Object fromKey,
                        Object toKey)
Enabled: Returns a view of the portion of this sorted map whose keys range from 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 sorted map, so changes in the returned sorted map are reflected in this sorted map, and vice-versa. The returned Map supports all optional map operations that this sorted map supports.

The map returned by this method will throw an IllegalArgumentException if the user attempts to insert a key outside the specified range.

Note: this method always returns a half-open range (which includes its low endpoint but not its high endpoint). If you need a closed range (which includes both endpoints), and the key type allows for calculation of the successor a given key, merely request the subrange from lowEndpoint to successor(highEndpoint). For example, suppose that m is a map whose keys are strings. The following idiom obtains a view containing all of the key-value mappings in m whose keys are between low and high, inclusive:

    Map sub = m.subMap(low, high+"\0");
A similarly technique can be used to generate an open range (which contains neither endpoint). The following idiom obtains a view containing all of the key-value mappings in m whose keys are between low and high, exclusive:
    Map sub = m.subMap(low+"\0", high);

Parameters:
fromKey - low endpoint (inclusive) of the subMap.
toKey - high endpoint (exclusive) of the subMap.
Returns:
a view of the specified range within this sorted map.
Throws:
ClassCastException - 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). Implementations may, but are not required to, throw this exception if fromKey or toKey cannot be compared to keys currently in the map.
IllegalArgumentException - if fromKey is greater than toKey; or if this map is itself a subMap, headMap, or tailMap, and fromKey or toKey are not within the specified range of the subMap, headMap, or tailMap.
NullPointerException - if fromKey or toKey is null and this sorted map does not tolerate null keys.

headMap

public SortedMap headMap(Object toKey)
Enabled: Returns a view of the portion of this sorted map whose keys are strictly less than toKey. The returned sorted map is backed by this sorted map, so changes in the returned sorted map are reflected in this sorted map, and vice-versa. The returned map supports all optional map operations that this sorted map supports.

The map returned by this method will throw an IllegalArgumentException if the user attempts to insert a key outside the specified range.

Note: this method always returns a view that does not contain its (high) endpoint. If you need a view that does contain this endpoint, and the key type allows for calculation of the successor a given key, merely request a headMap bounded by successor(highEndpoint). For example, suppose that suppose that m is a map whose keys are strings. The following idiom obtains a view containing all of the key-value mappings in m whose keys are less than or equal to high:

    Map head = m.headMap(high+"\0");

Parameters:
toKey - high endpoint (exclusive) of the subMap.
Returns:
a view of the specified initial range of this sorted map.
Throws:
ClassCastException - if toKey is not compatible with this map's comparator (or, if the map has no comparator, if toKey does not implement Comparable). Implementations may, but are not required to, throw this exception if toKey cannot be compared to keys currently in the map.
IllegalArgumentException - if this map is itself a subMap, headMap, or tailMap, and toKey is not within the specified range of the subMap, headMap, or tailMap.
NullPointerException - if toKey is null and this sorted map does not tolerate null keys.

tailMap

public SortedMap tailMap(Object fromKey)
Enabled: Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey. The returned sorted map is backed by this sorted map, so changes in the returned sorted map are reflected in this sorted map, and vice-versa. The returned map supports all optional map operations that this sorted map supports.

The map returned by this method will throw an IllegalArgumentException if the user attempts to insert a key outside the specified range.

Note: this method always returns a view that contains its (low) endpoint. If you need a view that does not contain this endpoint, and the element type allows for calculation of the successor a given value, merely request a tailMap bounded by successor(lowEndpoint). For example, suppose that suppose that m is a map whose keys are strings. The following idiom obtains a view containing all of the key-value mappings in m whose keys are strictly greater than low:

    Map tail = m.tailMap(low+"\0");

Parameters:
fromKey - low endpoint (inclusive) of the tailMap.
Returns:
a view of the specified final range of this sorted map.
Throws:
ClassCastException - if fromKey is not compatible with this map's comparator (or, if the map has no comparator, if fromKey does not implement Comparable). Implementations may, but are not required to, throw this exception if fromKey cannot be compared to keys currently in the map.
IllegalArgumentException - if this map is itself a subMap, headMap, or tailMap, and fromKey is not within the specified range of the subMap, headMap, or tailMap.
NullPointerException - if fromKey is null and this sorted map does not tolerate null keys.

firstKey

public Object firstKey()
Enabled: Returns the first (lowest) key currently in this sorted map.

Returns:
the first (lowest) key currently in this sorted map.
Throws:
NoSuchElementException - if this map is empty.

lastKey

public Object lastKey()
Enabled: Returns the last (highest) key currently in this sorted map.

Returns:
the last (highest) key currently in this sorted map.
Throws:
NoSuchElementException - if this map is empty.


comments?