代码之家  ›  专栏  ›  技术社区  ›  Henrique

如何使用RxJava过滤列表并对所有匹配的元素进行分组

  •  1
  • Henrique  · 技术社区  · 8 年前

    Filter 在后台线程中对其进行操作,然后在操作结束时获取与筛选条件匹配的结果列表。

    我还是RxJava的新手,所以我很难让它工作。我有的是( largeList 是一个 ArrayList 充满 Item

        Observable
                .fromIterable(largeList)
                .filter { it.name.contains(query) }
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribe { ... }
    

    subscribe ,我要回一张单人房 项目

    1 回复  |  直到 8 年前
        1
  •  1
  •   Jitendra A    8 年前

    toList working

    对于给定的可观测数据,它将收集传入的排放量到一个列表中,然后将整个列表作为一个排放量推送(通过single>)。

     Observable
                    .fromIterable(largeList)
                    .filter { it.name.contains(query) }
                    .toList() 
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribeOn(Schedulers.io())
                    .subscribe { ... }
    

      Observable
                        .fromIterable(largeList)
                        .filter { it.name.contains(query) }
                        .toList(capacityHint)
                        .observeOn(AndroidSchedulers.mainThread())
                        .subscribeOn(Schedulers.io())
                        .subscribe { ... }