자바 Stream 성능적 관점

jj J·2022년 12월 7일
1

JAVA

목록 보기
14/15

Stream의 성능적 관점에 대해서 얘기해보고자 한다.

바로 들어가기에 앞서 해당 주제를 얘기하기 위한 선행 주제를 먼저 정리하려 한다.

Eager Evaluation

할당되자마자 바로 연산

Lazy Evaluation

실제로 필요해질 때 연산, 필요하지 않은 연산은 하지않음

Stream

Stream은 Lazy Evaluation의 대표적인 예이다.

0~9 숫자 중 2개의 홀수를 찾아 100을 곱한 결과를 얻어라라는 문제가 있을 때, for each, Stream 2가지 방법을 사용해 풀어봤다.

for each
9번 순회

Stream
4번 순회


보다시피 Stream은 필요로 한 연산을 파악 후 연산을 시작한다. collect 메서드 실행 전 filter, limit 등을 통해 필요한 연산을 파악 후 그 연산만 진행하는 특징이 있다.

profile
매일 발전

0개의 댓글