스트림의 최종 연산
- 스트림의 모든 요소에 지정된 작업을 수행 : forEach(), forEachOrdered()

- 스트림 요소의 조건 검사 : allMatch(), anyMatch(), noneMatch()

- 조건에 일치하는 요소 찾기 : findFirst(), findAny()

- 스트림의 요소를 하나씩 줄여가며 누적연산 수행 : reduce()

< 예제 >


collect()와 Collectors
- collect() : Collectors를 매개변수로 하는 스트림의 최종 연산
- 그룹별 리듀싱

- Collector : 수집에 필요한 메서드를 정의해 놓은 인터페이스

- Collectors : 다양한 기능의 컬렉터(Collector를 구현하는 클래스)를 제공하는 클래스

스트림을 컬렉션, 배열로 변환
- 스트림을 컬렉션으로 변환 : toList(), toSet(), toMap(), toCollection()

- 스트림을 배열로 변환 : toArray()

- 스트림의 통계정보 제공 : counting(), summingInt(), maxBy(), minBy(), ...

- 스트림을 리듀싱 : reducing()

- 문자열 스트림의 요소를 모두 연결 : joining()

스트림의 그룹화와 분할 - partitioningBy()
(Collectors의 메서드)
- partitioningBy() : 스트림을 2분할 함

< 예제 >




스트림의 그룹화와 분할 - groupingBy()
(Collectors의 메서드)
- groupingBy() : 스트림을 n분할 함

< 예제 >





