#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