Click here to watch in Youtube : https://www.youtube.com/watch?v=LJBKCUGTbtE&list=UUhwKlOVR041tngjerWxVccwAscendingNameComparator.java import java.util.Comparator;
public class AscendingNameComparator implements Comparator<String>
{
/*
* This method used to arrange the names in ascending order.
*/
@Override
public int compare( String name1, String name2 )
{
System.out
.print("Compare method has been called in AscendingNameComparator, to arrange"
+ " the names in ascending order : ");
System.out
.println("name1 = " + name1 + ", name2 = " + name2 + "\n");
return name1.compareTo(name2);
}
}
TreeSetExample.java import java.util.TreeSet;
/*
* Example of TreeSet(Comparator<? super E> comparator) Constructor.
*/
public class TreeSetExample
{
public static void main( String[] args )
{
AscendingNameComparator ascendingNameComparator = new AscendingNameComparator();
/*
* 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>(ascendingNameComparator);
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 AscendingNameComparator, to arrange the names in ascending order : name1 = Balu, name2 = Balu
'Ajay' is going to be add in treeSet
Compare method has been called in AscendingNameComparator, to arrange the names in ascending order : name1 = Ajay, name2 = Balu
'David' is going to be add in treeSet
Compare method has been called in AscendingNameComparator, to arrange the names in ascending order : name1 = David, name2 = Balu
'Charles' is going to be add in treeSet
Compare method has been called in AscendingNameComparator, to arrange the names in ascending order : name1 = Charles, name2 = Balu
Compare method has been called in AscendingNameComparator, to arrange the names in ascending order : name1 = Charles, name2 = David
treeSet : [Ajay, Balu, Charles, David]