我是RxJava的新手,我正在尝试实现搜索本地数据库和服务器的搜索功能。我希望它合并两个结果并消除重复,任何想法??
答案 0 :(得分:3)
您可以合并本地和远程结果,并使用toMap
来消除重复项。
此外,如果您有更多要求,可以使用collect
和HashSet
(或HashMap
)来提供更多控制权:
Observable<Integer> local = Observable.just(1, 2, 3, 4);
Observable<Integer> remote = Observable.just(1, 3, 5, 7);
local.mergeWith(remote)
.collect(() -> new HashSet<Integer>(), (set, v) -> set.add(v))
.flatMap(Observable::from)
.subscribe(System.out::println);
答案 1 :(得分:3)
您可以使用distinct operator。