| /home/oracle/labs/07ParallelStreams/examples/EmployeeSearch/src/com/example/lambda/A03CodeStream.java |
1 package com.example.lambda;
2
3 import java.util.List;
4 import java.util.stream.DoubleStream;
5 import java.util.stream.Stream;
6
7
8
9 @author
10
11 public class A03CodeStream {
12
13 public static void main(String[] args) {
14
15 List<Employee> eList = Employee.createShortList();
16
17 Stream<Employee> s1 = eList.stream();
18
19 Stream<Employee> s2 = s1.filter(
20 e -> e.getState().equals("CO"));
21
22 Stream<Employee> s3 = s2.filter(
23 e -> e.getRole().equals(Role.EXECUTIVE));
24 Stream<Employee> s4 = s3.peek(e -> e.printSummary());
25 DoubleStream s5 = s4.mapToDouble(e -> e.getSalary());
26 double result = s5.sum();
27
28 System.out.printf("Total CO Executive Pay: $%,9.2f %n", result);
29 }
30
31 }
32