Collections Java Tutorial

The NavigableSet interface is a subinterface of SortedSet that provides methods for searching for elements.
java.util.TreeSet is an implementation of NavigableSet.

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.NavigableSet;
import java.util.TreeSet;
public class NavigableSetDemo {
  public static void main(String[] args) {
    List list = Arrays.asList(3, 2, 4, 1, 5);
    NavigableSet ns = new TreeSet(list);
    System.out.println("Ascending order (default): " + ns);
    Iterator descendingIterator = ns.descendingIterator();
    StringBuilder sb = new StringBuilder("Descending order: ");
    while (descendingIterator.hasNext()) {
      int m = descendingIterator.next();
      sb.append(m + " ");
    }
    System.out.println(sb);
    int greatest = ns.lower(3);
    System.out.println("Lower of 3 = " + greatest);
    int smallest = ns.higher(3);
    System.out.println("Higher of 3 = " + smallest);
  }
}
Ascending order (default): [1, 2, 3, 4, 5]
Descending order: 5 4 3 2 1
Lower of 3 = 2
Higher of 3 = 4