Quantcast
Viewing all articles
Browse latest Browse all 19

Answer by nayan for How to sort List of objects by some property

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;    }}

Viewing all articles
Browse latest Browse all 19

Trending Articles