import java.util.ArrayList; import java.util.Comparator; import java.util.TreeSet; public class ComparatorEx{ public static void main(String[] args) throws Exception{ /*Number sorting*/ ArrayList numBeforeSort=new ArrayList(); numBeforeSort.add("2"); numBeforeSort.add("10"); numBeforeSort.add("3"); numBeforeSort.add("11"); NumberComparator noComp=new NumberComparator(); TreeSet numberSet=new TreeSet(noComp); numberSet.addAll(numBeforeSort); ArrayList numAfterSort=new ArrayList(); numAfterSort.addAll(numberSet); System.out.println("Numbers Before Sorting="+numBeforeSort); System.out.println("Numbers After Sorting="+numAfterSort); /*Number sorting ends*/ /*names sorting(Descending order)*/ DescendingOrderComparator nameComp=new DescendingOrderComparator(); ArrayList namesBeforeSort=new ArrayList(); namesBeforeSort.add("robert"); namesBeforeSort.add("williams"); namesBeforeSort.add("john"); namesBeforeSort.add("kiomars"); TreeSet nameSet=new TreeSet(nameComp); nameSet.addAll(namesBeforeSort); ArrayList namesAfterSortList=new ArrayList(); namesAfterSortList.addAll(nameSet); System.out.println("Names Before Sorting="+namesBeforeSort); System.out.println("Names After Sorting="+namesAfterSortList); /*names sorting ends*/ }//main.. }//public class ComparatorEx class NumberComparator implements Comparator{ public int compare(Object o1,Object o2){ String s1=(String)o1; String s2=(String)o2; int first=Integer.parseInt(s1); int second=Integer.parseInt(s2); if(first=0){ return -1; }else{ return 1; }//else }//public int compare(... }//class StringReverseComparator