
1.Create an ArrayList of Object Planet with instance variable name and colour. Add 5 planets to the ArrayList planetList. Sort the ArrayList in ascending order of name and descending order of colour using comparator interface. (Note: Do not use comparable Interface)

import java.util.*;
class ShowData {
String name;
String color;
ShowData(String name,String color){
this.name=name;
this.color=color;
}
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setGrade(String color) {
this.color = color;
}
public String getColor(){
return color;
}
}
class NameComparator implements Comparator{
public int compare(Object o1, Object o2){
String name1 = ((ShowData)o1).getName();
String name2 = ((ShowData)o2).getName();
return name1.compareTo(name2);
}
}
class ColorComparator implements Comparator{
public int compare(Object o1, Object o2){
String color1 = ((ShowData)o1).getColor();
String color2 = ((ShowData)o2).getColor();
return color2.compareTo(color1);
}
}
public class ArrayListEx{
public static void main(String[] args){
ArrayList<ShowData> planetList=new ArrayList<ShowData>();
planetList.add(new ShowData("Mercury","Yellow"));
planetList.add(new ShowData("Venus","Blue"));
planetList.add(new ShowData("Earth","Green"));
planetList.add(new ShowData("Mars","Red"));
planetList.add(new ShowData("Jupiter","Orange"));
System.out.println("Sorting according to ascending order of Planet: ");
Collections.sort(planetList,new NameComparator());
for(ShowData data: planetList){
System.out.println(data.getName()+"\t "+data.getColor());
}
System.out.println();
System.out.println("Sorting according to descending order of Color: ");
Collections.sort(planetList,new ColorComparator());
for(ShowData data: planetList){
System.out.println(data.getName()+"\t "+data.getColor());
}
}
}