티스토리 뷰
서론
java stream의 reduce를 사용하는 방법을 소개합니다.
본론
reduce
reduce에서는 identity와 lambda expression 두 가지를 매개변수로 받아 작업을 수행합니다.
identity는 계산을 수행하기 전 초기 값으로 각 계산의 결과가 입력으로 재사용됩니다.
lambda expression에서는 identity와 stream의 값을 받을 수 있는 매개변수가 2개인 람다식을 작성하면 됩니다.
someList.stream().reduce(<identity>, <lambda operation>)
사용 예시
int[] nums = {1, 2, 3, 4, 5, 6, 7}
// nums 배열의 모든 값들의 곱을 구하는 방법
return Arrays.steram(nums).reduce(1, (total, num) -> (total * num));
// nums 배열의 모든 값들의 합을 구하는 방법 (미리 정의된 람다식)
return Arrays.stream(nums).reduce(0, Integer::sum);
결론
stream에 대해서 많이 공부하면 그만큼 코딩하는 길이를 줄이고 가독성을 높일 수 있습니다.
'개발자 > 자바(Java)' 카테고리의 다른 글
| [Java] Arrays.sort 관련 (1) | 2024.02.27 |
|---|---|
| [Java] String의 stream과 char array 변환 (0) | 2024.02.26 |
| [Spring] Swagger 추가하기 (0) | 2024.02.23 |
| [Spring] data source 설정하기 (0) | 2024.02.18 |
| [Spring] 테스트 시 Lombok.extern.log4j does not exist 해결방법 (0) | 2024.02.18 |
