Returns the least element in this set greater than or equal to the given element, or {@code null} if there is no such element.
Returns the greatest element in this set less than or equal to the given element, or {@code null} if there is no such element.
{@inheritDoc}
Returns a view of the portion of this set whose elements are less than (or equal to, if {@code inclusive} is true) {@code toElement}. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.
Returns the least element in this set strictly greater than the given element, or {@code null} if there is no such element.
Returns the greatest element in this set strictly less than the given element, or {@code null} if there is no such element.
Retrieves and removes the first (lowest) element, or returns {@code null} if this set is empty.
Retrieves and removes the last (highest) element, or returns {@code null} if this set is empty.
Returns a view of the portion of this set whose elements range from {@code fromElement} to {@code toElement}. If {@code fromElement} and {@code toElement} are equal, the returned set is empty unless {@code fromInclusive} and {@code toInclusive} are both true. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.
{@inheritDoc}
Returns a view of the portion of this set whose elements are greater than (or equal to, if {@code inclusive} is true) {@code fromElement}. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.
{@inheritDoc}
A {@link SortedSet} extended with navigation methods reporting closest matches for given search targets. Methods {@code lower}, {@code floor}, {@code ceiling}, and {@code higher} return elements respectively less than, less than or equal, greater than or equal, and greater than a given element, returning {@code null} if there is no such element. A {@code NavigableSet} may be accessed and traversed in either ascending or descending order. The {@code 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 {@code pollFirst} and {@code pollLast} that return and remove the lowest and highest element, if one exists, else returning {@code null}. Methods {@code subSet}, {@code headSet}, and {@code tailSet} differ from the like-named {@code SortedSet} methods in accepting additional arguments describing whether lower and upper bounds are inclusive versus exclusive. Subsets of any {@code NavigableSet} must implement the {@code NavigableSet} interface.
<p> The return values of navigation methods may be ambiguous in implementations that permit {@code null} elements. However, even in this case the result can be disambiguated by checking {@code contains(null)}. To avoid such issues, implementations of this interface are encouraged to <em>not</em> permit insertion of {@code null} elements. (Note that sorted sets of {@link Comparable} elements intrinsically do not permit {@code null}.)
<p>Methods {@link #subSet(Object, Object) subSet(E, E)}, {@link #headSet(Object) headSet(E)}, and {@link #tailSet(Object) tailSet(E)} are specified to return {@code SortedSet} to allow existing implementations of {@code SortedSet} to be compatibly retrofitted to implement {@code NavigableSet}, but extensions and implementations of this interface are encouraged to override these methods to return {@code NavigableSet}.
<p>This interface is a member of the <a href="{@docRoot}/../technotes/guides/collections/index.html"> Java Collections Framework</a>.
@author Doug Lea @author Josh Bloch @param (E) the type of elements maintained by this set