Click here to watch in Youtube :https://www.youtube.com/watch?v=O0YcEDqewJY&list=UUhwKlOVR041tngjerWxVccwDescendingNameComparator.java import java.util.Comparator;
public class DescendingNameComparator implements Comparator<String>
{
/*
* This method used to arrange the names in descending order.
*/
@Override
public int compare( String name1, String name2 )
{
System.out
.print("Compare method has been called in DescendingNameComparator, to arrange"
+ " the names in decending order : ");
System.out
.println("name1 = " + name1 + ", name2 = " + name2 + "\n");
return name2.compareTo(name1);
}
}
TreeSetExample.java import java.util.TreeSet;
/*
* Example of TreeSet(Comparator<? super E> comparator) Constructor.
*/
public class TreeSetExample
{
public static void main( String[] args )
{
DescendingNameComparator decendingNameComparator = new DescendingNameComparator();
/*
* Constructs a new, empty tree set, sorted according to the specified
* comparator.
*
* All elements inserted into the set must be mutually comparable by the
* specified comparator: comparator.compare(e1, e2) must not throw a
* ClassCastException for any elements e1 and e2 in the set.
*
* If the user attempts to add an element to the set that violates this
* constraint, the add call will throw a ClassCastException.
*/
TreeSet<String> treeSet = new TreeSet<String>(decendingNameComparator);
System.out.println("Balu" + " is going to be add in treeSet");
treeSet.add("Balu");
System.out.println("Ajay" + " is going to be add in treeSet");
treeSet.add("Ajay");
System.out.println("David" + " is going to be add in treeSet");
treeSet.add("David");
System.out.println("Charles" + " is going to be add in treeSet");
treeSet.add("Charles");
System.out.println("treeSet : " + treeSet + "\n");
}
}
Output Balu is going to be add in treeSet
Compare method has been called in DescendingNameComparator, to arrange the names in decending order : name1 = Balu, name2 = Balu
Ajay is going to be add in treeSet
Compare method has been called in DescendingNameComparator, to arrange the names in decending order : name1 = Ajay, name2 = Balu
David is going to be add in treeSet
Compare method has been called in DescendingNameComparator, to arrange the names in decending order : name1 = David, name2 = Balu
Charles is going to be add in treeSet
Compare method has been called in DescendingNameComparator, to arrange the names in decending order : name1 = Charles, name2 = Balu
Compare method has been called in DescendingNameComparator, to arrange the names in decending order : name1 = Charles, name2 = David
treeSet : [David, Charles, Balu, Ajay]