NavigableSet (Java Platform SE 8 ) (original) (raw)
A 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 methodspollFirst
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 checkingcontains(null)
. To avoid such issues, implementations of this interface are encouraged to not permit insertion ofnull
elements. (Note that sorted sets of Comparable elements intrinsically do not permit null
.)
MethodssubSet(E, E),headSet(E), andtailSet(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 returnNavigableSet
.
This interface is a member of the Java Collections Framework.