| /home/oracle/labs/06CollectionOperations/examples/EmployeeSearch06/src/com/example/lambda/A09SortBonus.java |
1 package com.example.lambda;
2
3 import java.util.List;
4 import java.util.OptionalDouble;
5
6
7
8 @author
9
10 public class A09SortBonus {
11 public static void main(String[] args) {
12 List<Employee> eList = Employee.createShortList();
13
14 System.out.println("\n== CO Bonus Details ==");
15
16 eList.stream()
17 .filter(e -> e.getRole().equals(Role.EXECUTIVE))
18 .filter(e -> e.getState().equals("CO"))
19 .mapToDouble(e -> e.getSalary() * Bonus.byRole(e.getRole()))
20 .sorted()
21 .forEach(d -> System.out.printf("Bonus paid: $%,6.2f %n", d));
22
23 System.out.println("\n== CO Bonus Details ==");
24
25 eList.stream()
26 .filter(e -> e.getRole().equals(Role.EXECUTIVE))
27 .filter(e -> e.getState().equals("CO"))
28 .sorted()
29 .forEach(Employee::printSummary);
30 }
31 }
32