可以說我有一個可觀察的 Observable<List<A>>
,我想將它轉換爲一個Observable作爲Observable<List<B>>
。有沒有什麼最好的辦法可以將List<A>
轉換成List<B>
。 Javascript的map
的實現將是理想的情況。將一種類型的列表轉換爲另一種類型的RXJava? (等效的Javascript地圖)
5
A
回答
4
您可以使用Observable.from(Iterable<A>)
得到Observable<A>
,它映射(A => B),並將其轉換爲List<B>
與Observable.toList()
Observable.from(Arrays.asList(1, 2, 3))
.map(val -> mapIntToString(val)).toList()
例如
Observable.from(Arrays.asList(1, 2, 3))
.map(val -> val + "mapped").toList()
.toBlocking().subscribe(System.out::println);
產生
[1mapped,2mapped,3mapped]
0
您還可以使用組成將獲得可觀察到的,將返回不同的。
Observable.Transformer<Integer, String> transformIntegerToString() {
return observable -> observable.map(String::valueOf);
}
@Test
public void observableWithTransformToString() {
Observable.from(Arrays.asList(1,2,3))
.map(number -> {
System.out.println("Item is Integer:" + Integer.class.isInstance(number));
return number;
})
.compose(transformIntegerToString())
.subscribe(number -> System.out.println("Item is String:" + (String.class.isInstance(number))));
}
您可以在這裏看到更多的例子
2
我回答了另一個類似的問題在這裏:https://stackoverflow.com/a/42055221/454449
我在這裏複製的答案爲方便(不知道這違背規則):
如果要維護源01發出的但轉換的內容,即Observable<List<SourceObject>>
到Observable<List<ResultsObject>>
,你可以做這樣的事情:
Observable<List<SourceObject>> source = ...
source.flatMap(list ->
Observable.fromIterable(list)
.map(item -> new ResultsObject(item))
.toList()
.toObservable() // Required for RxJava 2.x
)
.subscribe(resultsList -> ...);
這確保了兩件事情:
- 維持由
Observable
發出Lists
數。即,如果源發射3所列出,會有在另一端 - 使用
Observable.fromIterable()
將確保內Observable
3名轉化列表終止,使得toList()
可用於
相關問題
- 1. 轉換爲另一種類型的
- 2. 將一種類型的列表轉換爲C#3.5中另一種類型的列表
- 3. AS3將一種類型轉換爲另一種
- 4. 將一種類型的列表轉換爲使用推土機的另一種類型的數組
- 5. 如何將屬性從一種類型轉換爲另一種?
- 6. 如何使用反射將一種類型轉換爲另一種類型?
- 7. 如何將一種數據類型轉換爲另一種數據類型?
- 8. 如何將表列轉換爲另一種數據類型
- 9. 從一個空類型轉換爲另一種可空類型
- 10. 如何輕鬆將一種類型的列表複製到另一種類型?
- 11. 使一種類型成爲一種類型或另一種類型
- 12. 類型不匹配無法一種類型轉換爲另一種
- 13. 將一種類型的映射列表映射到另一種
- 14. 從表達式的值轉換爲另一種類型的C#
- 15. 我該如何隱式地將我的類轉換爲另一種類型?
- 16. 將電感值轉換爲另一種類型的電感值
- 17. 如何將一種類型轉換爲與包名相同的多種類型?
- 18. 將一種類型的樹結構轉換爲另一種類型的設計模式?
- 19. 通用如何將一種類型的數據轉換爲另一種類型的數據
- 20. 將scala集合從一種類型轉換爲另一種類型的複雜性是什麼?
- 21. 將數據從一種類型轉換爲另一種類型的「正確」方式是什麼?
- 22. 如何從EA中的另一種類型生成某種類型的圖表?
- 23. 轉換的實例爲另一種類型的實例
- 24. 將數據從一種類型轉換爲另一種類型存在哪些模式?
- 25. 如何將通用數組轉換爲另一種類型?
- 26. 將一種類型的矢量分配給另一種類型的矢量
- 27. PowerPoint圖表。與另一種類型
- 28. 繼承類的另一種類型的
- 29. RavenDB:將文檔屬性轉換爲另一種類型
- 30. 將通用類型轉換爲另一種通用類型擴展方法