import java.util.Comparator;
import java.util.TreeSet;
public class Main {
public static void main(String a[]) {
// using name comparator (String comparison)
TreeSet<Empl> nameComp = new TreeSet<Empl>(new MyNameComp());
nameComp.add(new Empl("A", 3));
nameComp.add(new Empl("J", 6));
nameComp.add(new Empl("C", 2));
nameComp.add(new Empl("T", 2));
for (Empl e : nameComp) {
System.out.println(e);
}
// using salary comparator (int comparison)
TreeSet<Empl> salComp = new TreeSet<Empl>(new MySalaryComp());
salComp.add(new Empl("A", 3));
salComp.add(new Empl("J", 6));
salComp.add(new Empl("C", 2));
salComp.add(new Empl("T", 2));
for (Empl e : salComp) {
System.out.println(e);
}
}
}
class MyNameComp implements Comparator<Empl> {
@Override
public int compare(Empl e1, Empl e2) {
return e1.getName().compareTo(e2.getName());
}
}
class MySalaryComp implements Comparator<Empl> {
@Override
public int compare(Empl e1, Empl e2) {
if (e1.getSalary() > e2.getSalary()) {
return 1;
} else {
return -1;
}
}
}
class Empl {
private String name;
private int salary;
public Empl(String n, int s) {
this.name = n;
this.salary = s;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String toString() {
return "Name: " + this.name + "-- Salary: " + this.salary;
}
}