6.1 컬렉터란 무엇인가?

명령형 코드에서는 다중 루프와 조건문을 추가하며 가독성과 유지보수성이 크게 떨어진다. 함수형 프로그래밍에서는 필요한 컬렉터를 쉽게 추가할 수 있다.

6.1.1 고급 리듀싱 기능을 수행하는 컬렉터

6.1.2 미리 정의된 컬렉터

Collectors에서 제공하는 메서드의 기능은 크게 세 가지로 구분할 수 있다.


6.2 리듀싱과 요약

컬렉터로 스트림의 항목을 컬렉션으로 재구성할 수 있다. 좀 더 쉽게 말하자면 컬렉터로 스트림의 모든 항목을 하나의 결과로 합칠 수 있다.

long howManyDishes = menu.stream().collect(Collectors.counting());

// 불필요한 과정 생략
long howManyDishes = menu.stream().count();