过滤Rxjava中的Object列表

时间:2016-06-30 09:21:52

标签: android rx-java rx-android

我想根据用户的查询过滤List<Object>,然后将List<Object>返回给他/她。我发现了如何过滤项目但问题是我不知道不知道如何返回List<Object>。我也看到了一些迭代并每次调用flatMap的方法但是我认为这不是一种优雅的方式。

这是我的最后一次尝试:

      Observable.from(my_list_of_object)
                    .debounce(500, TimeUnit.MILLISECONDS)
                    .filter(new Func1<MyObject, Boolean>() {
                        @Override
                        public Boolean call(MyObject o) {
                            return o.getName().contains(query); //filtering
                        }
                    })
                    .observeOn(Schedulers.computation())

                   //problem is here and I dont know how 
                   //to convert filtered Item to list

1 个答案:

答案 0 :(得分:13)

只需使用toList()运算符即可。 查看documentation.

      Observable.from(my_list_of_object)
                    .debounce(500, TimeUnit.MILLISECONDS)
                    .filter(new Func1<MyObject, Boolean>() {
                        @Override
                        public Boolean call(MyObject o) {
                            return o.getName().contains(query); //filtering
                        }
                    })
                    .toList()
                    .observeOn(Schedulers.computation())

您可以找到更广泛的聚合运算符列表here