public interface SortedSet4D<E>
extends java.util.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 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.
Set
,
TreeSet
,
SortedMap
,
Collection
,
Comparable
,
Comparator
,
ClassCastException
Modifier and Type | Method and Description |
---|---|
java.util.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.
|
java.util.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.
|
java.util.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.
|
java.util.SortedSet<E> |
tailSet(E fromElement)
Returns a view of the portion of the set greater than or equal to
fromElement.
|
java.util.Comparator<? super E> comparator()
E first()
java.util.NoSuchElementException
- if the set is empty.java.util.SortedSet<E> headSet(E toElement)
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))
.
toElement
- the exclusive upper range of the subsetjava.lang.ClassCastException
- if toElement is not comparable to the set
contentsjava.lang.IllegalArgumentException
- if this is a subSet, and toElement is out
of rangejava.lang.NullPointerException
- if toElement is null but the set does not
allow null elementsE last()
java.util.NoSuchElementException
- if the set is empty.java.util.SortedSet<E> subSet(E fromElement, E toElement)
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.
fromElement
- the inclusive lower range of the subsettoElement
- the exclusive upper range of the subsetjava.lang.ClassCastException
- if fromElement or toElement is not comparable
to the set contentsjava.lang.IllegalArgumentException
- if this is a subSet, and fromElement or
toElement is out of rangejava.lang.NullPointerException
- if fromElement or toElement is null but the
set does not allow null elementsjava.util.SortedSet<E> tailSet(E fromElement)
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))
.
fromElement
- the inclusive lower range of the subsetjava.lang.ClassCastException
- if fromElement is not comparable to the set
contentsjava.lang.IllegalArgumentException
- if this is a subSet, and fromElement is
out of rangejava.lang.NullPointerException
- if fromElement is null but the set does not
allow null elements