Employee Sorting Problems (Java 8+)


Default Sorting Order

Numbers → sorted in ascending order

1, 2, 3, 4, 5

Characters / Strings → sorted in alphabetical order (A → Z)

a, b, c, d

 List<Employee> employees = Employee.getEmployeeList();

1. Sort Employees by Salary (Ascending) and Name (Descending)

    public static List<Employee> sortBySalaryAscAndNameDescStream(List<Employee> employees){

        return employees.stream().sorted(Comparator.comparing(Employee::getSalary)
                                .thenComparing(Employee::getName, Comparator.reverseOrder()))
                .collect(Collectors.toList());

    }

2. Sort Employees by Salary Descending order

public static List<Employee> sortBySalaryDesc(List<Employee> employees){
        return employees.stream().sorted(Comparator.comparingDouble(Employee::getSalary).reversed()).toList();
    }

This site uses Just the Docs, a documentation theme for Jekyll.