| /home/oracle/labs/06CollectionOperations/examples/EmployeeSearch06/src/com/example/lambda/A10SortComparator.java |
1 package com.example.lambda;
2
3 import java.util.Comparator;
4 import java.util.List;
5 import java.util.OptionalDouble;
6
7
8
9 @author
10
11 public class A10SortComparator {
12 public static void main(String[] args) {
13 List<Employee> eList = Employee.createShortList();
14
15 System.out.println("\n== CO Bonus Details Comparator ==");
16
17 eList.stream()
18 .filter(e -> e.getRole().equals(Role.EXECUTIVE))
19 .filter(e -> e.getState().equals("CO"))
20 .sorted(Comparator.comparing(Employee::getSurName))
21 .forEach(Employee::printSummary);
22
23 System.out.println("\n== CO Bonus Details Reversed ==");
24
25 eList.stream()
26 .filter(e -> e.getRole().equals(Role.EXECUTIVE))
27 .filter(e -> e.getState().equals("CO"))
28 .sorted(Comparator.comparing(Employee::getSurName).reversed())
29 .forEach(Employee::printSummary);
30
31 System.out.println("\n== Two Level Sort, Dept then Surname ==");
32
33 eList.stream()
34 .sorted(
35 Comparator.comparing(Employee::getDept)
36 .thenComparing(Employee::getSurName))
37 .forEach(Employee::printSummary);
38 }
39 }
40