E
- the type of elements maintained by this setpublic interface NavigableSet<E> extends SortedSet<E>
SortedSet
extended with navigation methods reporting
closest matches for given search targets. Methods lower
,
floor
, ceiling
, and higher
return elements
respectively less than, less than or equal, greater than or equal,
and greater than a given element, returning null
if there
is no such element. A NavigableSet
may be accessed and
traversed in either ascending or descending order. The descendingSet
method returns a view of the set with the senses of
all relational and directional methods inverted. The performance of
ascending operations and views is likely to be faster than that of
descending ones. This interface additionally defines methods
pollFirst
and pollLast
that return and remove the
lowest and highest element, if one exists, else returning null
. Methods subSet
, headSet
,
and tailSet
differ from the like-named SortedSet
methods in accepting additional arguments describing
whether lower and upper bounds are inclusive versus exclusive.
Subsets of any NavigableSet
must implement the NavigableSet
interface.
The return values of navigation methods may be ambiguous in
implementations that permit null
elements. However, even
in this case the result can be disambiguated by checking
contains(null)
. To avoid such issues, implementations of
this interface are encouraged to not permit insertion of
null
elements. (Note that sorted sets of Comparable
elements intrinsically do not permit null
.)
Methods
subSet(E, E)
,
headSet(E)
, and
tailSet(E)
are specified to return SortedSet
to allow existing
implementations of SortedSet
to be compatibly retrofitted to
implement NavigableSet
, but extensions and implementations
of this interface are encouraged to override these methods to return
NavigableSet
.
This interface is a member of the Java Collections Framework.
Modifier and Type | Method | Description |
---|---|---|
E |
ceiling(E e) |
Returns the least element in this set greater than or equal to
the given element, or
null if there is no such element. |
Iterator<E> |
descendingIterator() |
Returns an iterator over the elements in this set, in descending order.
|
NavigableSet<E> |
descendingSet() |
Returns a reverse order view of the elements contained in this set.
|
E |
floor(E e) |
Returns the greatest element in this set less than or equal to
the given element, or
null if there is no such element. |
SortedSet<E> |
headSet(E toElement) |
Returns a view of the portion of this set whose elements are
strictly less than toElement.
|
NavigableSet<E> |
headSet(E toElement,
boolean inclusive) |
Returns a view of the portion of this set whose elements are less than
(or equal to, if
inclusive is true) toElement . |
E |
higher(E e) |
Returns the least element in this set strictly greater than the
given element, or
null if there is no such element. |
Iterator<E> |
iterator() |
Returns an iterator over the elements in this set, in ascending order.
|
E |
lower(E e) |
Returns the greatest element in this set strictly less than the
given element, or
null if there is no such element. |
E |
pollFirst() |
Retrieves and removes the first (lowest) element,
or returns
null if this set is empty. |
E |
pollLast() |
Retrieves and removes the last (highest) element,
or returns
null if this set is empty. |
NavigableSet<E> |
subSet(E fromElement,
boolean fromInclusive,
E toElement,
boolean toInclusive) |
Returns a view of the portion of this set whose elements range from
fromElement to toElement . |
SortedSet<E> |
subSet(E fromElement,
E toElement) |
Returns a view of the portion of this set whose elements range
from fromElement, inclusive, to toElement,
exclusive.
|
SortedSet<E> |
tailSet(E fromElement) |
Returns a view of the portion of this set whose elements are
greater than or equal to fromElement.
|
NavigableSet<E> |
tailSet(E fromElement,
boolean inclusive) |
Returns a view of the portion of this set whose elements are greater
than (or equal to, if
inclusive is true) fromElement . |
comparator, first, last, spliterator