2016-04-04 20 views
4

RxJava'nın yeni sürümüyim ve yerel db'yi ve sunucuyu arayan arama işlevini uygulamaya çalışıyorum. Her iki sonucu birleştirmek ve yinelemeleri, herhangi bir fikirleri ortadan kaldırmak isterim?RxJava Yinelenen birleştirme yok

cevap

2

Yerel ve uzak sonuçları birleştirebilir ve kopyaları ortadan kaldırmak için toMap kullanabilirsiniz. Daha gereksinimleri varsa

Üstelik, kullanabileceğiniz daha fazla kontrol elde collect ve HashSet (veya 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); 
İlgili konular