java.util
public interface SortedSet<E> extends Set<E>
All elements entered in the set must be mutually comparable; in other words,
k1.compareTo(k2)
or comparator.compare(k1, k2)
must not throw a ClassCastException. The ordering must be consistent
with equals (see {@link Comparator} for this definition), if the
set is to obey the general contract of the Set interface. If not,
the results are well-defined, but probably not what you wanted.
It is recommended that all implementing classes provide four constructors: 1) one that takes no arguments and builds an empty set sorted by natural order of the elements; 2) one that takes a Comparator for the sorting order; 3) one that takes a Set and sorts according to the natural order of its elements; and 4) one that takes a SortedSet and sorts by the same comparator. Unfortunately, the Java language does not provide a way to enforce this.
Since: 1.2
See Also: Set TreeSet SortedMap Collection Comparable Comparator ClassCastException
UNKNOWN: updated to 1.4
Method Summary | |
---|---|
Comparator<? super E> | comparator()
Returns the comparator used in sorting this set, or null if it is
the elements' natural ordering.
|
E | first()
Returns the first (lowest sorted) element in the set.
|
SortedSet<E> | headSet(E toElement)
Returns a view of the portion of the set strictly less than toElement. |
E | last()
Returns the last (highest sorted) element in the set.
|
SortedSet<E> | subSet(E fromElement, E toElement)
Returns a view of the portion of the set greater than or equal to
fromElement, and strictly less than toElement. |
SortedSet<E> | tailSet(E fromElement)
Returns a view of the portion of the set greater than or equal to
fromElement. |
Returns: the sorting comparator
Returns: the first element
Throws: NoSuchElementException if the set is empty.
The returned set throws an IllegalArgumentException any time an element is
used which is out of the range of toElement. Note that the endpoint, toElement,
is not included; if you want this value included, pass its successor object in to
toElement. For example, for Integers, you could request
headSet(new Integer(limit.intValue() + 1))
.
Parameters: toElement the exclusive upper range of the subset
Returns: the subset
Throws: ClassCastException if toElement is not comparable to the set contents IllegalArgumentException if this is a subSet, and toElement is out of range NullPointerException if toElement is null but the set does not allow null elements
Returns: the last element
Throws: NoSuchElementException if the set is empty.
The returned set throws an IllegalArgumentException any time an element is
used which is out of the range of fromElement and toElement. Note that the
lower endpoint is included, but the upper is not; if you want to
change the inclusion or exclusion of an endpoint, pass its successor
object in instead. For example, for Integers, you can request
subSet(new Integer(lowlimit.intValue() + 1),
new Integer(highlimit.intValue() + 1))
to reverse
the inclusiveness of both endpoints.
Parameters: fromElement the inclusive lower range of the subset toElement the exclusive upper range of the subset
Returns: the subset
Throws: ClassCastException if fromElement or toElement is not comparable to the set contents IllegalArgumentException if this is a subSet, and fromElement or toElement is out of range NullPointerException if fromElement or toElement is null but the set does not allow null elements
The returned set throws an IllegalArgumentException any time an element is
used which is out of the range of fromElement. Note that the endpoint,
fromElement, is included; if you do not want this value to be included, pass its
successor object in to fromElement. For example, for Integers, you could request
tailSet(new Integer(limit.intValue() + 1))
.
Parameters: fromElement the inclusive lower range of the subset
Returns: the subset
Throws: ClassCastException if fromElement is not comparable to the set contents IllegalArgumentException if this is a subSet, and fromElement is out of range NullPointerException if fromElement is null but the set does not allow null elements