🌱 오늘의 주제 : 스트림의 최종연산
🌱 스트림의 최종연산
🌱 스트림의 최종연산 - forEach()
- 최종 연산은 스트림의 요소를 소모해서 결과를 만들어낸다. 최종 연산후에 스트림은 닫히게 되고 더이상 사용 할 수 없다.
- forEach()는 스트림의 요소를 소모하는 최종연산이다. 반환 타입이 void이므로 스트림의 요소를 출력하는 용도로 사용 된다.
void forEach(Consumer<? super T> action)
🌱 스트림의 최종연산 - 조건검사
- 조건검사 메서드들은 모두 매개변수로 Predicate를 요구, 연산결과로 boolean 반환
- findFirst()는 주로 filter()와 함께 사용
- 병렬 스트림은 findFirst() 대신 findAny()를 사용
🌱 스트림의 최종연산 - reduce()
- 스트림의 요소를 줄여나가면서 연산을 수행하고 최종결과를 반환한다.
- 매개변수 타입 - BinaryOperator<T>
- 연산결과의 초기값을 갖는 reduce()도 있다. 초기값과 스트림의 첫 번째 요소로 연산을 시작하고, 스트림의 요소가 하나도 없을 경우, 초기값이 반환되므로, 반환 타입이 Optional<T>가 아니라 T이다.
'Java' 카테고리의 다른 글
Java - 입출력(I/O) 과 스트림(stream)이란? (0) | 2023.04.06 |
---|---|
Java - 스트림(collect(), 스트림의 그룹화와 분할 (0) | 2023.04.05 |
Java - Optional<T> (0) | 2023.04.03 |
Java - 스트림의 특징과 스트림의 중간연산 (0) | 2023.03.30 |
Java - 람다식 (0) | 2023.03.27 |