728x90
반응형
Stream :: reduce 사용법
reduce는 stream의 데이터를 하나의 요소로 만드는 작업을 수행
쉽게 stream의 마지막 요소를 가져오고 싶을 때도 활용할 수 있음 👉 알아보기
다양한 예제
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
int result = numbers
.stream()
.reduce(0, (subtotal, element) -> subtotal + element);
assertThat(result).isEqualTo(21);
List<String> letters = Arrays.asList("a", "b", "c", "d", "e");
String result = letters
.stream()
.reduce("", (partialString, element) -> partialString + element);
assertThat(result).isEqualTo("abcde");
Stream<Integer> numbers = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Optional<Integer> sum = numbers.reduce((x, y) -> x + y);
sum.ifPresent(s -> System.out.println("sum: " + s)); // sum: 55
// 초기값이 있는 reduce
Stream<Integer> numbers = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Integer sum = numbers.reduce(10, (total, n) -> total + n);
System.out.println("sum: " + sum); // sum: 65
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] LocalDate, LocalDateTime 날짜 차이 계산 (0) | 2022.11.11 |
---|---|
[Java Error] java list add 시 null pointer exception (0) | 2022.11.07 |
[Java] Stream 마지막 요소 가져오기 (0) | 2022.11.03 |
[Java] List 중복 제거 (0) | 2022.10.31 |
[Java] length / length() / size() 사용법 및 차이 (0) | 2022.09.21 |