RxJava:如何将对象列表转换为另一个对象列表 [英] RxJava: How to convert List of objects to List of another objects

查看:120
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆