TreeSet with Comparator
Home ] Up ] Vector/Enumeration Example ] ArrayList/Iterator Example ] LinkedList Example ] Stack Example ] Comparable Example ] Comparator Example ] HashSet Example ] TreeSet Example ] [ TreeSet with Comparator ] HashMap Example ] TreeMap Example ] TreeMap with Comparator ]

 

 

Here is the TreeSet example with a Comparator, converted to using generics:

package examples;

import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;

public class ReversedTreeSetExample
{
  public static void main(String[] args)
  {
    TreeSet<String> set = new TreeSet<String>( new ReverseOrderComparator() );
    set.add("Mary");
    set.add("Frank");
    set.add("Joe");
    set.add("Sylvia");
    set.add("Vanessa");
    set.add("Frank");   // Duplicate

    for (Iterator<String> iter = set.iterator(); iter.hasNext(); )
    {
      String name = iter.next(); // Note NO required cast
      System.out.println(name);
    }
  }
}

class ReverseOrderComparator implements Comparator<String>
{
  public int compare(String s1, String s2)
  {
    return -(s1.compareTo(s2));
    // Reverse order by reversing comparison
  }
}

which outputs (same as original):

Vanessa
Sylvia
Mary
Joe
Frank

 

This page was last modified on 27 November, 2007