NavigableSet

TreeSet is an example of a navigable set. Navigable sets are described by the NavigableSet interface, whose generic type is NavigableSet<E>, which extends SortedSet.

The following code demonstrates a navigable set based on a tree set.

 
import java.util.Iterator;
import java.util.NavigableSet;
import java.util.TreeSet;

public class Main {
  public static void main(String[] args) {
    NavigableSet<Integer> ns = new TreeSet<Integer>();
    int[] ints = { 8, -1, 4, 0, 1, -6, 9 };
    for (int i : ints)
      ns.add(i);
    System.out.print("Ascending order: ");
    Iterator iter = ns.iterator();
    while (iter.hasNext()){
      System.out.print(iter.next() + " ");
    }
      
    System.out.println();
    System.out.print("Descending order: ");
    iter = ns.descendingIterator();
    while (iter.hasNext()){
      System.out.print(iter.next() + " ");
    }      
    System.out.println("\n");
    outputClosestMatches(ns, 4);
    outputClosestMatches(ns.descendingSet(), 12);
  }

  static void outputClosestMatches(NavigableSet<Integer> ns, int i) {
    System.out.println("Element < " + i + " is " + ns.lower(i));
    System.out.println("Element <= " + i + " is " + ns.floor(i));
    System.out.println("Element > " + i + " is " + ns.higher(i));
    System.out.println("Element >= " + i + " is " + ns.ceiling(i));
    System.out.println();
  }
}
  
 
Ascending order: -6 -1 0 1 4 8 9 
Descending order: 9 8 4 1 0 -1 -6 

Element < 4 is 1
Element <= 4 is 4
Element > 4 is 8
Element >= 4 is 4

Element < 12 is null
Element <= 12 is null
Element > 12 is 9
Element >= 12 is 9
  
Home 
  Java Book 
    Collection