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.