RxJava - Combinazione di operatori

Di seguito sono riportati gli operatori utilizzati per creare un singolo osservabile da più osservabili.

Sr.No. Operatore e descrizione
1 And/Then/When

Combina set di articoli utilizzando gli intermediari Pattern e Plan.

2 CombineLatest

Combina l'ultimo elemento emesso da ciascun osservabile tramite una funzione specificata ed emetti l'elemento risultante.

3 Join

Combina elementi emessi da due osservabili se emessi durante l'intervallo di tempo del secondo elemento emesso da osservabili.

4 Merge

Combina gli elementi emessi di osservabili.

5 StartWith

Emette una sequenza di elementi specificata prima di iniziare a emettere gli elementi dalla fonte Observable

6 Switch

Emette gli elementi più recenti emessi da Observables.

7 Zip

Combina elementi di osservabili in base alla funzione ed emette gli elementi risultanti.

Esempio di combinazione di operatori

Crea il seguente programma Java utilizzando qualsiasi editor di tua scelta, ad esempio C: \> RxJava.

ObservableTester.java

import io.reactivex.Observable;
//Using combineLatest operator to combine Observables
public class ObservableTester {
   public static void main(String[] args) {    
      Integer[] numbers = { 1, 2, 3, 4, 5, 6};
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result = new StringBuilder();
      Observable<String> observable1 = Observable.fromArray(letters);
      Observable<Integer> observable2 = Observable.fromArray(numbers);
      Observable.combineLatest(observable1, observable2, (a,b) -> a + b)
         .subscribe( letter -> result.append(letter));
      System.out.println(result);
   }
}

Verifica il risultato

Compila la classe usando javac compilatore come segue -

C:\RxJava>javac ObservableTester.java

Ora esegui ObservableTester come segue:

C:\RxJava>java ObservableTester

Dovrebbe produrre il seguente output:

g1g2g3g4g5g6