JAVA chapter16. 스트림과 병렬처리. 


16.3 스트림 파이프라인

16.3.1 중간 처리와 최종 처리






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package sec03.stream_pipelines;
 
public class Member {
    public static int MALE = 0;
    public static int FEMALE = 1;
    
    private String name;
    private int sex;
    private int age;
    
    public Member(String name, int sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
 
    public int getSex() { return sex; }
    public int getAge() { return age; }
}
cs


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package sec03.stream_pipelines;
 
import java.util.Arrays;
import java.util.List;
 
public class StreamPipelinesExample {
    public static void main(String[] args) {
        List<Member> list = Arrays.asList(
                new Member("홍길동", Member.MALE, 30),
                new Member("김나리", Member.FEMALE, 20),
                new Member("신용권", Member.MALE, 45),
                new Member("박수미", Member.FEMALE, 27)
        );
        
        double ageAvg =   list.stream() // 오리지날 스트림
            .filter(m -> m.getSex() == Member.MALE) // 중간 처리 스트림
            .mapToInt(Member :: getAge)
            .average() // 최종 처리 스트림
            .getAsDouble();
        
        System.out.println("남자 평균 나이: " + ageAvg);
    }
}
cs

 



16.3.2 중간 처리 메소드와 최종 처리 메소드







Posted by 너래쟁이
: