JAVA/자바의 정석

[자바의 정석 - 기초편] 14. (5) 스트림의 최종 연산 ( forEach, forEachOrdered, allMatch, anyMatch, noneMatch, findAny, findFirst, reduce / collect와 Collectors / 그룹화와 분할 )

서영22 2024. 1. 4. 03:04

 스트림의 최종 연산 

- 스트림의 모든 요소에 지정된 작업을 수행 : 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분할 

 

 

< 예제 >