/home/oracle/labs/07ParallelStreams/examples/EmployeeSearch/src/com/example/lambda/A04Parallel.java
 1 package com.example.lambda;
 2 
 3 import java.util.List;
 4 
 5 /**
 6  *
 7  * @author oracle
 8  */
 9 public class A04Parallel {
10     
11     public static void main(String[] args) {
12         
13         List<Employee> eList = Employee.createShortList();
14         
15         double result = eList.parallelStream()
16             .filter(e -> e.getState().equals("CO"))
17             .filter(e -> e.getRole().equals(Role.EXECUTIVE))
18             .peek(e -> e.printSummary())
19             .mapToDouble(e -> e.getSalary())
20             .sum();
21         
22         System.out.printf("Total CO Executive Pay: $%,9.2f %n", result);
23         
24         System.out.println("\n");
25         
26         // Call parallel from pipeline
27         result = eList.stream()
28             .filter(e -> e.getState().equals("CO"))
29             .filter(e -> e.getRole().equals(Role.EXECUTIVE))
30             .peek(e -> e.printSummary())
31             .mapToDouble(e -> e.getSalary())
32             .parallel()
33             .sum();
34         
35         System.out.printf("Total CO Executive Pay: $%,9.2f %n", result);               
36     
37         System.out.println("\n");
38         
39         // Call sequential from pipeline
40         result = eList.stream()
41             .filter(e -> e.getState().equals("CO"))
42             .filter(e -> e.getRole().equals(Role.EXECUTIVE))
43             .peek(e -> e.printSummary())
44             .mapToDouble(e -> e.getSalary())
45             .sequential()
46             .sum();
47         
48         System.out.printf("Total CO Executive Pay: $%,9.2f %n", result);               
49     }
50 }
51