使用RxJava过滤子列表

设计

使用以下对象:

Order {
 int orderId;
 List<Item> items; 
}

Item {
 int price;
 String description;
 boolean free; 
}

目标是保留从Observable <0rder>开始的非免费项目,并仍然返回Observable <0rder>。

我现在正在执行以下操作,但是我的项目没有被过滤:

    getMyOrder() // returns Observable<Order> from the network
    .subscribeOn(Schedulers.io())
    .observeOn(Schedulers.computation())
    .flatMap(
       order -> Observable.from(order.items)
                        .filter(item -> !item.isFree())
                        .map(items -> order)
       );
AndroidEx

这似乎不应该使用RxJava来完成(特别是如果要Order在过滤步骤之后发出),它可能是中的实例方法Order,例如:

getMyOrder().subscribeOn(Schedulers.io())
        .observeOn(Schedulers.computation())
        .map(Order::removeFreeItems)
        .subscribe();

class Order {
    int orderId;
    List<Item> items;

    public Order removeFreeItems() {
        for (Iterator<Item> iterator = items.iterator(); iterator.hasNext(); ) {
            if (iterator.next().free) {
                iterator.remove();
            }
        }
        return this;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 RxJava 过滤项目列表

来自分类Dev

过滤Rxjava中的对象列表

来自分类Dev

过滤Rxjava中的对象列表

来自分类Dev

使用子字符串javascript过滤列表?

来自分类Dev

如何在RXJava中过滤列表

来自分类Dev

C#LINQ使用值列表按子列表过滤复杂对象列表

来自分类Dev

根据子列表的值过滤嵌套列表

来自分类Dev

使用RxJava和Retrofit遍历列表并根据子查询扩展结果

来自分类Dev

使用Linq过滤列表

来自分类Dev

如何转换/过滤子列表中的项目?

来自分类Dev

LINQ:按子列表中的值过滤

来自分类Dev

使用子字符串以列表形式过滤数据框列

来自分类Dev

使用xpath子过滤html

来自分类Dev

如何过滤父级内部的子列表并返回过滤子列表的父级

来自分类Dev

使用选择过滤列表视图

来自分类Dev

使用javascript过滤大型列表

来自分类Dev

使用jQuery过滤列表项

来自分类Dev

如何使用angularjs过滤列表

来自分类Dev

使用单选按钮过滤列表

来自分类Dev

使用下拉列表过滤GridView

来自分类Dev

使用firebase过滤分页列表

来自分类Dev

使用动态查询过滤列表?

来自分类Dev

过滤列表无法使用 .contains

来自分类Dev

使用下拉列表过滤项目

来自分类Dev

在子列表上应用条件时如何过滤父列表<>?

来自分类Dev

在基于子列表过滤列表时如何避免硬编码?

来自分类Dev

如何根据子列表中的值过滤2级列表?

来自分类Dev

在具有子列表的元素列表中搜索/过滤

来自分类Dev

通过子字符串列表过滤字典列表