1. 스트림 최종 연산의 핵심은 reduce()와 collect()
2. 스트림 최종 연산 - forEach()
void forEach(Consumer<? super T> action) // 병렬 스트림인 경우 순서가 보장되지 않음
void forEachOrdered(Consumer<? super T> action) // 병렬 스트림인 경우에도 순서가 보장됨
Optional<T> findFirst() // 첫번째 요소를 반환. 순차 스트림에 사용
Optional<T> findAny() // 아무거나 하나를 반환. 병렬 스트림에 사용
3. 스트림 최종 연산 - reduce()
스트림의 요소를 하나씩 줄여가며 누적연산 수행
int count = intStream.reduce(0, (a,b) -> a + 1);
int sum = intStream.reduce(0, (a,b) -> a + b);
int max = intStream.reduce(Integer.MIN_VALUE, (a,b)-> a > b ? a : b); // max()
int min = intStream.reduce(Integer.MAX_VALUE, (a,b)-> a < b ? a : b); // min()
4. 스트림 최종 연산 - collect()
collect()는 Collector를 매개변수로 하는 스트림 최종 연산
reduce()와 거의 비슷한 역할
object collect(Collector collector);
반응형
'Knowledge Wiki > Java' 카테고리의 다른 글
JAVA 스트림 그룹화, 분할 - partitioningBy(), groupingBy() (0) | 2021.12.02 |
---|---|
JAVA Collector 인터페이스, Collectors 클래스 (0) | 2021.12.02 |
JAVA Optional 객체 (0) | 2021.12.02 |
JAVA 스트림 중간 연산, map(), flatmap(), sorted() (0) | 2021.12.02 |
JAVA 람다식 iterate(), generate() (0) | 2021.12.02 |