#36 rxjava: 데이터 변환 - toList, toMap
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package org.example.ex11;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.core.Single;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 각각의 통지 데이터를 List로 변환해서 Single로 한번만 통지하는 예제
|
||||
*/
|
||||
public class ObservableToListEx01 {
|
||||
public static void main(String[] args) {
|
||||
Single<List<Integer>> single = Observable.just(1, 3, 5, 7, 9)
|
||||
.toList();
|
||||
|
||||
single.subscribe(data -> Logger.log(LogType.ON_NEXT, data));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.example.ex11;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import org.example.common.SampleData;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
/**
|
||||
* 각각의 통지될 Car 객체를 List로 변환해서 Single로 한번만 통지하는 예제
|
||||
*/
|
||||
public class ObservableToListEx02 {
|
||||
public static void main(String[] args) {
|
||||
Observable.fromIterable(SampleData.carList)
|
||||
.toList()
|
||||
.subscribe(carList -> Logger.log(LogType.ON_NEXT, carList));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.example.ex11;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.core.Single;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 통지된 데이터에서 map의 키를 생성한 후, 각각의 키별로 원본 통지 데이터를 매핑해서 Map으로 반환하는 예제
|
||||
*/
|
||||
public class ObservableToMapExample01 {
|
||||
public static void main(String[] args) {
|
||||
Single<Map<String, String>> single =
|
||||
Observable.just("a-Alpha", "b-Bravo", "c-Charlie", "e-Echo")
|
||||
.toMap(data -> data.split("-")[0]); // 반환값은 Map의 key가 된다.
|
||||
|
||||
single.subscribe(map -> Logger.log(LogType.ON_NEXT, map));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package org.example.ex11;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.core.Single;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 원본 데이터를 변환한 값과 각각의 key를 매핑하여 Map으로 통지하는 예제
|
||||
*/
|
||||
public class ObservableToMapExample02 {
|
||||
public static void main(String[] args) {
|
||||
Single<Map<String, String>> single = Observable.just("a-Alpha", "b-Bravo", "c-Charlie", "e-Echo")
|
||||
.toMap(
|
||||
data -> data.split("-")[0],
|
||||
data -> data.split("-")[1]
|
||||
);
|
||||
|
||||
single.subscribe(map -> Logger.log(LogType.ON_NEXT, map));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user