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.javaOra esegui ObservableTester come segue:
C:\RxJava>java ObservableTesterDovrebbe produrre il seguente output:
g1g2g3g4g5g6