스트림에서 평가(evaluation) 란?
- 스트림에서 종종
평가(evaluation)
라는 용어를 사용한다. - 평가는 병렬 처리가 가능한
Stream
형태에서Stream
이 아닌 다른 형태의 자바 객체로 바꾸는 행위를 말한다.toArray()
,collect()
,reduce()
,forEach()
같이Stream
타입이 아닌 자바 객체로 변환하고 이를 반환하는 것을 말한다.
Stream
은 평가 전에는 계속 스트림 형태를 유지한다.findFirst()
,anyMatch()
,allMatch()
또한평가(evaluation)
를 트리깅할 수 있다. 하지만, 오직단락 조건 (short-circuiting condition)
이 맞을 때만 가능하다.단락 조건 (short-circuiting condition)
이란, Stream API 가 끝날 수 있는 조건을 말한다.- 이를테면
findFirst()
에서 첫번째 원소를 정상적으로 발견하면 단락조건을 만족하게 된다.
반응형
'Java > 자바 잡지식' 카테고리의 다른 글
자바 Stream 에 size() 혹은 length 프로퍼티가 없는 이유 (0) | 2023.03.31 |
---|---|
자바 함수형 인터페이스 혹은 람다 인터페이스란? (0) | 2023.03.29 |
자바에서 상속이 갖는 단점들 (0) | 2023.02.22 |
로컬과 운영 환경의 log4j 나누기 (0) | 2022.12.28 |
ObjectMapper (Jackson) 커스텀 직렬화 역직렬화 구현 (0) | 2022.05.23 |