728x90 optional1 [modern java in action] stream(4) 4-5 리듀싱 스트림의 모든 요소를 반복적으로 처리해서 값을 도출하는 연산을 리듀싱 연산이라고 한다. 함수형 프로그래밍 언어 용어로는 이 과정이 마치 종이를 작은 조각이 될 때까지 반복해서 접는 것과 비슷하다는 의미로 폴드라고 부른다. 1)요소의 합 (reduce) int sum = numbers.stream().reduce(0, (a,b) -> a + b); //누적값 계산 reduce( 초기값 , 두 요소를 조합해서 새로운 값을 만드는 BinaryOperator) 2)초기값 없음 Optional sum = numbers.stream().reduce((a , b) -> (a + b);) 이런경우 Optional객체를 반환한다. 스트림에 아무 요소도 없는 경우 초기값이 없으므로 reduce는 합계를 반환.. 2021. 6. 24. 이전 1 다음 728x90