RxJava - Operadores condicionais

A seguir estão os operadores que avaliam um ou vários Observáveis ​​ou itens emitidos.

Sr. Não. Operador e descrição
1

All

Avalia todos os itens emitidos para atender a determinados critérios.

2

Amb

Emite todos os itens do primeiro Observable apenas dados vários Observables.

3

Contains

Verifica se um Observable emite um item específico ou não.

4

DefaultIfEmpty

Emite o item padrão se Observable não emitir nada.

5

SequenceEqual

Verifica se dois Observáveis ​​emitem a mesma sequência de itens.

6

SkipUntil

Descarta os itens emitidos pelo primeiro Observável até que um segundo Observável emita um item.

7

SkipWhile

Descarte itens emitidos por um Observável até que uma determinada condição se torne falsa.

8

TakeUntil

Descarta os itens emitidos por um Observable depois que um segundo Observable emite um item ou termina.

9

TakeWhile

Descarte os itens emitidos por um Observável após uma condição especificada se tornar falsa.

Exemplo de operador condicional

Crie o seguinte programa Java usando qualquer editor de sua escolha em, digamos, C: \> RxJava.

ObservableTester.java

import io.reactivex.Observable;
//Using defaultIfEmpty operator to operate on an Observable
public class ObservableTester  {
   public static void main(String[] args) {    
      final StringBuilder result = new StringBuilder();
      Observable.empty()
      .defaultIfEmpty("No Data")
      .subscribe(s -> result.append(s));
      System.out.println(result);
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result1 = new StringBuilder();
      Observable.fromArray(letters)
      .firstElement()
      .defaultIfEmpty("No data")   
      .subscribe(s -> result1.append(s));
      System.out.println(result1);
   }
}

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 -

No Data
a