본문 바로가기
Java

Java stream().map().collect() 사용해보기

by 자유코딩 2019. 1. 11.

자바의 stream().map().collect() 를 사용해보자.

 

원래 C#에서는 리스트에 대해서 list.(o->o.aaa == aaa) 와 같은 동작을 수행 할 수 있었다.

 

정확히 예를 들면.

 

사용자 이름 목록이 담긴 리스트에서 성이 김씨인 경우를 모두 모아서 새로운 리스트로 만들기.

 

이런 동작을 수행 할 수 있다.

 

자바에도 이런 기능이 있다.

 

아래처럼 코드를 작성하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
public void streamTest(){
    List<Event> events = new ArrayList<>();
    events.add(Event.builder().name("21312").build()); //빌더 패턴을 사용해서 리스트에 객체 저장
    events.add(Event.builder().name("hihi").build());
    events.add(Event.builder().name("hello").build());
    List<String> stringList = events.stream().map(o->o.getName()).collect(Collectors.toList()); // 바로 이 부분
    // 이름들만 모아서 새로운 String 리스트를 만들어 낼 수 있다.
    for (String names: stringList) {
        System.out.println(names);
    }
}
cs

 

댓글