WEB/JAVA

람다식 (stream,map,collect)

이미지 출처:  ninja-squad

 

//postRepository에서 넘어온 결과를 

postsRepository.findAllDesc().stream()

//Stream을 통해 map으로 new PostsListResponseDto 에 매핑 해준다.

//PostsListResponseDto에서는 파라미터로 postRepository에서 넘어온 결과 Entity posts를 받고 있으므로 

//결과적으로 .map(posts -> new PostsListResponseDto(posts))

.map(PostsListResponseDto::new)

//collect를 사용해서 List로 변환한다. 

.collect(Collectors.toList());

 

stream이라는 게 있는 것 조차 몰라서 공부하면서 혼란스러웠다

람다식을 배운 적이 없으니. ㅠㅠ
검색해본 결과 그동안 Iterator를 써왔으나
Java 8 이후에 Stream으로 요소를 하나씩 참조해서 람다식으로 처리할 수 있는 반복자로 바뀐 거 같다.