#36 rxjava: basic
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package org.example.ex01;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class DeclarativePrograming {
|
||||
|
||||
public static void main(String[] args){
|
||||
// List에 있는 숫자들 중에서 6보다 큰 홀수들의 합계를 구하세요.
|
||||
List<Integer> numbers = Arrays.asList(1, 3, 21, 10, 8, 11);
|
||||
|
||||
int sum = numbers.stream()
|
||||
.filter(number -> number > 6 && (number % 2 != 0))
|
||||
.mapToInt(number -> number)
|
||||
.sum();
|
||||
|
||||
System.out.println("# 선언형 프로그래밍 사용: " + sum);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.example.ex01;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ImperativeProgramming {
|
||||
|
||||
public static void main(String[] args){
|
||||
// List에 있는 숫자들 중에서 6보다 큰 홀수들의 합계를 구하세요.
|
||||
List<Integer> numbers = Arrays.asList(1, 3, 21, 10, 8, 11);
|
||||
int sum = 0;
|
||||
|
||||
for(int number : numbers){
|
||||
if(number > 6 && (number % 2 != 0)){
|
||||
sum += number;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("# 명령형 프로그래밍 사용: " + sum);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.example.ex01;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
|
||||
public class ReactiveProgramming {
|
||||
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
Observable.just(100, 200, 300, 400, 500)
|
||||
.doOnNext(data -> System.out.println(Thread.currentThread().getName() + " : #doOnNext() : " + data))
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.computation())
|
||||
.filter(number -> number > 300)
|
||||
.subscribe(num -> System.out.println(Thread.currentThread().getName() + " : result : " + num));
|
||||
|
||||
Thread.sleep(500);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user