RxJava无重复合并

RxJava无重复合并,java,android,rx-java,Java,Android,Rx Java,我对RxJava有点陌生,我正在尝试实现搜索本地数据库和服务器的搜索功能。我希望它合并两个结果并消除重复项,有什么想法吗???您可以合并本地和远程结果,并使用toMap消除重复项 此外,如果您有更多的要求,可以使用收集和哈希集(或哈希映射),这将为您提供更多的控制: Observable<Integer> local = Observable.just(1, 2, 3, 4); Observable<Integer> remote = Observable

我对RxJava有点陌生,我正在尝试实现搜索本地数据库和服务器的搜索功能。我希望它合并两个结果并消除重复项,有什么想法吗???

您可以合并本地和远程结果,并使用
toMap
消除重复项

此外,如果您有更多的要求,可以使用
收集
哈希集
(或
哈希映射
),这将为您提供更多的控制:

    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);
Observable local=Observable.just(1,2,3,4);
可观测远程=可观测。仅(1,3,5,7);
本地.mergeWith(远程)
.collect(()->newhashset(),(set,v)->set.add(v))
.flatMap(可观察::来自)
.subscribe(System.out::println);
您可以使用