안녕하세요. 메로나입니다.
오늘은 데이터 집계 연산자에 대해 공부하겠습니다.
count
- Observable이 통지한 데이터의 총개수를 통지합니다.

public static void main(String[] args) {
Observable.just(1, 3, 5, 7, 9)
.count()
.subscribe(System.out::println);
}
// 출력
5
reduce
- Observable이 통지한 데이터를 이용해서 어떤 결과를 일정한 방식으로 합성한 후, 최종 결과를 반환합니다.
- Observable이 통지한 데이터가 숫자일 경우 파라미터로 지정한 함수형 인터페이스에 정의된 계산 방식으로 값을 집계할 수 있습니다.

public static void main(String[] args) {
// Create an observable
Observable.just(1, 3, 5, 7, 9)
.reduce((total, next) -> total + next) // total 변수에 계속 값이 누적됨
.subscribe(System.out::println);
}
// 출력
25
문제) range, reduce 함수를 이용하여 10부터 1까지 역순으로 뺄셈을 한 최종 결과 값을 구하세요.
public static void main(String[] args) {
Observable.range(1, 10)
.map(num -> 11 - num) // map으로 숫자 뒤에서부터 출력 10부터~
.reduce((total, next) -> total - next) // total에 저장
.subscribe(System.out::println);
}
// 출력
-35
오늘은 데이터 집계를 위해 함수를 공부하였습니다.
통계를 내야할 때가 많은데 해당 함수들을 사용해서 집계를 해도 될 것 같습니다.
20000~
'RxJava' 카테고리의 다른 글
| [RxJava] 조건과 불린 연산자 (0) | 2025.02.22 |
|---|---|
| [RxJava] 유틸리티 연산자 (0) | 2025.02.21 |
| [RxJava] 에러 처리 연산자 (0) | 2025.02.19 |
| [RxJava] 데이터 결합 연산자 (0) | 2025.02.11 |
| [RxJava] RxJava 퀴즈 문제 (0) | 2025.02.09 |
