RxJava:如何将对象列表转换为另一个对象列表 [英] RxJava: How to convert List of objects to List of another objects
本文介绍了RxJava:如何将对象列表转换为另一个对象列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有SourceObjects列表,我需要将其转换为ResultObjects列表.
I have the List of SourceObjects and I need to convert it to the List of ResultObjects.
我可以使用ResultObject的方法将一个对象获取到另一个对象:
I can fetch one object to another using method of ResultObject:
convertFromSource(srcObj);
我当然可以这样:
public void onNext(List<SourceObject> srcObjects) {
List<ResultsObject> resObjects = new ArrayList<>();
for (SourceObject srcObj : srcObjects) {
resObjects.add(new ResultsObject().convertFromSource(srcObj));
}
}
但对于能够展示如何使用 rxJava 进行相同操作的人,我将不胜感激.
but I will be very appreciate to someone who can show how to do the same using rxJava.
推荐答案
如果您的 Observable
发出 List
,则可以使用以下运算符:
If your Observable
emits a List
, you can use these operators:
-
flatMapIterable
(将您的列表转换为Observable项) -
地图
(将您的商品转换为其他商品) -
toList
运算符(将完成的Observable转换为Observable,后者从完成的Observable发出项目列表)
flatMapIterable
(transform your list to an Observable of items)map
(transform your item to another item)toList
operators (transform a completed Observable to a Observable which emit a list of items from the completed Observable)
Observable<SourceObjet> source = ...
source.flatMapIterable(list -> list)
.map(item -> new ResultsObject().convertFromSource(item))
.toList()
.subscribe(transformedList -> ...);
这篇关于RxJava:如何将对象列表转换为另一个对象列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文