/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 oracle
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