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