Mega Code Archive

 
Categories / Java Book / 005 Collection
 

0322 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