RxJava - Operadores de combinación

A continuación se muestran los operadores que se utilizan para crear un único Observable a partir de múltiples Observables.

No Señor. Operador y descripción
1 And/Then/When

Combine conjuntos de artículos utilizando los intermediarios Patrón y Plan.

2 CombineLatest

Combine el último elemento emitido por cada Observable a través de una función específica y emita el elemento resultante.

3 Join

Combine los elementos emitidos por dos Observables si se emitieron durante el marco de tiempo del segundo elemento Observable emitido.

4 Merge

Combina los elementos emitidos de Observables.

5 StartWith

Emite una secuencia específica de elementos antes de comenzar a emitir los elementos de la fuente Observable

6 Switch

Emite los elementos más recientes emitidos por Observables.

7 Zip

Combina elementos de Observables en función de la función y emite los elementos resultantes.

Ejemplo de operador de combinación

Cree el siguiente programa Java usando cualquier editor de su elección en, digamos, 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);
   }
}

Verificar el resultado

Compila la clase usando javac compilador de la siguiente manera:

C:\RxJava>javac ObservableTester.java

Ahora ejecute ObservableTester de la siguiente manera:

C:\RxJava>java ObservableTester

Debería producir el siguiente resultado:

g1g2g3g4g5g6