2016-04-04 13 views
4

私はRxJavaにちょっと新しく、ローカルdbとサーバーを検索する検索機能を実装しようとしています。私は両方の結果をマージし、重複、任意のアイデアを排除したいですか?RxJava重複のないマージ

答えて

2

ローカルとリモートの結果をマージし、toMapを使用して重複を排除できます。

あなたはより多くの要件がある場合はまた、あなたはあなたのより多くの制御を与えるcollectHashSet(または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); 
関連する問題