Employee POJO Class
package in.ac.adit.oop.sort;public class Employee { private int id; private String name; private String department; public int getId() { return id; } public Employee() { super(); } public Employee(int id, String name, String department) { super(); this.id = id; this.name = name; this.department = department; } @Override public String toString() { return "Employee [id=" + id +", name=" + name +", department=" + department +"]"; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; }}
Employee Class To Manage Employee
package in.ac.adit.oop.sort;import java.util.ArrayList;import java.util.List; public class Example { public static void main(String[] args) { /* * Create 10 Employee Object */ Employee emp1 = new Employee(1, "Nayan", "IT"); Employee emp2 = new Employee(2, "Siddarth", "CP"); Employee emp3 = new Employee(3, "Samarth", "AE"); Employee emp4 = new Employee(4, "Bhavesh", "CV"); Employee emp5 = new Employee(5, "Sam", "FT"); Employee emp6 = new Employee(6, "Keyur", "IT"); Employee emp7 = new Employee(7, "Bala", "ME"); Employee emp8 = new Employee(8, "Mitul", "ME"); Employee emp9 = new Employee(9, "Kamlesh", "EE"); Employee emp10 = new Employee(10, "Piyush", "EE"); /* * List of Employee Object */ List<Employee> employeeList = new ArrayList<Employee>(); employeeList.add(emp1); employeeList.add(emp2); employeeList.add(emp3); employeeList.add(emp4); employeeList.add(emp5); employeeList.add(emp6); employeeList.add(emp7); employeeList.add(emp8); employeeList.add(emp9); employeeList.add(emp10); CustomObjectSort customObjectSort = new CustomObjectSort(); List<Employee> sortByDepartment = customObjectSort.sortByDepartment(employeeList); /* * Sorted By Department */ for (Employee employee : sortByDepartment) { System.out.println(employee); } /* * Sorted By Name */ List<Employee> sortByName = customObjectSort.sortByName(employeeList); for (Employee employee : sortByName) { System.out.println(employee); } /* * Sorted By Id */ List<Employee> sortById = customObjectSort.sortById(employeeList); for (Employee employee : sortById) { System.out.println(employee); } } }
Custom Sorting
package in.ac.adit.oop.sort;import java.util.Collections;import java.util.Comparator;import java.util.List;public class CustomObjectSort { public List<Employee> sortByName(List<Employee> employeeList) { Collections.sort(employeeList, new Comparator<Employee>() { @Override public int compare(Employee employee1, Employee employee2) { return employee1.getName().compareTo(employee2.getName()); } }); return employeeList; } public List<Employee> sortByDepartment(List<Employee> employeeList) { Collections.sort(employeeList, new Comparator<Employee>() { @Override public int compare(Employee employee1, Employee employee2) { return employee1.getDepartment().compareTo(employee2.getDepartment()); } }); return employeeList; } public List<Employee> sortById(List<Employee> employeeList) { Collections.sort(employeeList, new Comparator<Employee>() { @Override public int compare(Employee employee1, Employee employee2) { return employee1.getId() - employee2.getId(); } }); return employeeList; }}