Java Comparator sample program example
import java.util.Comparator;
public class Employee {
private String empName;
private String department;
private int age;
public Employee(String empName,String department,int age) {
this.empName = empName;
this.department = department;
this.age = age;
}
public static class OrderByName implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
// TODO Auto-generated method stub
return e1.empName.compareTo(e2.empName);
}
}
public static class OrderByDepartment implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
// TODO Auto-generated method stub
return e1.department.compareTo(e2.department);
}
}
public static class OrderByAge implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
// TODO Auto-generated method stub
return e1.age>e2.age?1:(e1.age<e2.age?-1:0);
}
}
/**
* @return the empName
*/
public String getEmpName() {
return empName;
}
/**
* @param empName the empName to set
*/
public void setEmpName(String empName) {
this.empName = empName;
}
/**
* @return the department
*/
public String getDepartment() {
return department;
}
/**
* @param department the department to set
*/
public void setDepartment(String department) {
this.department = department;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Sample {
public static void main(String args[])
{
Employee e1 = new Employee("vaisakh","IT",21);
Employee e2 = new Employee("rajkumar","EEE",22);
Employee e3 = new Employee("binu","MECH",20);
List<Employee> list = new ArrayList<Employee>();
list.add(e1);
list.add(e2);
list.add(e3);
Collections.sort(list, new Employee.OrderByName());
System.out.println("Ordering based on name "+list);
Collections.sort(list, new Employee.OrderByDepartment());
System.out.println("Ordering based on department "+list);
Collections.sort(list, new Employee.OrderByAge());
System.out.println("Ordering based on age "+list);
}
}
No comments:
Post a Comment