RxJava - Combinando Operadores

A seguir estão os operadores que são usados ​​para criar um único observável a partir de vários observáveis.

Sr. Não. Operador e descrição
1 And/Then/When

Combine conjuntos de itens usando intermediários de padrão e plano.

2 CombineLatest

Combine o último item emitido por cada Observable por meio de uma função especificada e emita o item resultante.

3 Join

Combine itens emitidos por dois Observáveis ​​se emitidos durante o período do segundo item Observável emitido.

4 Merge

Combina os itens emitidos de Observáveis.

5 StartWith

Emita uma sequência especificada de itens antes de começar a emitir os itens da fonte Observável

6 Switch

Emite os itens mais recentes emitidos por Observables.

7 Zip

Combina itens de Observáveis ​​com base na função e emite os itens resultantes.

Exemplo de operador de combinação

Crie o seguinte programa Java usando qualquer editor de sua escolha em, 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);
   }
}

Verifique o resultado

Compile a classe usando javac compilador da seguinte forma -

C:\RxJava>javac ObservableTester.java

Agora execute o ObservableTester da seguinte maneira -

C:\RxJava>java ObservableTester

Ele deve produzir a seguinte saída -

g1g2g3g4g5g6