안녕하세요. 메로나입니다.
오늘은 RxJava 강의 들은 것을 퀴즈를 통해 복습하겠습니다.
1. range, filter, map을 이용하여 1부터 15까지 숫자 중에 2의 배수만 필터링한 후, 필터링된 숫자에 제곱한 숫자를 출력하세요.
public static void main(String[] args) {
Observable<Integer> numbers = Observable.range(1, 15);
numbers.filter(num -> num % 2 == 0)
.map(num -> num * num)
.subscribe(System.out::println);
}
// 출력
4
16
36
64
100
144
196
2. range, flatMap을 이용하야 2단부터 9단까지 출력하세요.
public static void main(String[] args) {
Observable<Integer> numbers = Observable.range(2, 8);
numbers.flatMap(
data -> Observable.range(1, 9), (sourceData, newData)
-> sourceData + " * " + newData + " = " + sourceData * newData)
.subscribe(System.out::println);
}
// 출력
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
3. interval, skipUtil, timer를 이용하여 1초에 한 번씩 발행된 데이터 중에서 3초 후에 발행된 데이터만 10까지 출력하세요.
public static void main(String[] args) {
Observable.interval(0L, 1000L, TimeUnit.MILLISECONDS)
.skipUntil(Observable.timer(3000L, TimeUnit.MILLISECONDS))
.subscribe(System.out::println);
try {
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
}
// 출력
4
5
6
7
8
9
10
4. range, skipLast를 이용하여 1부터 15까지의 숫자 중에서 마지막에 발행된 숫자 3개를 제외한 나머지 숫자를 출력하세요.
public static void main(String[] args) {
Observable<Integer> numbers = Observable.range(1, 15);
numbers.skipLast(3)
.subscribe(System.out::println);
}
// 출력
1
2
3
4
5
6
7
8
9
10
11
12'RxJava' 카테고리의 다른 글
| [RxJava] 에러 처리 연산자 (0) | 2025.02.19 |
|---|---|
| [RxJava] 데이터 결합 연산자 (0) | 2025.02.11 |
| [RxJava] 데이터 변환 연산자 (0) | 2025.02.06 |
| [RxJava] 데이터 필터링 연산자 (0) | 2025.02.01 |
| [RxJava] 생성 연산자 (0) | 2025.01.30 |