RxJava - Operadores condicionales

A continuación se muestran los operadores que evalúan uno o varios Observables o elementos emitidos.

No Señor. Operador y descripción
1

All

Evalúa todos los elementos emitidos para cumplir con los criterios dados.

2

Amb

Emite todos los elementos del primer Observable solo dados múltiples Observables.

3

Contains

Comprueba si un Observable emite un elemento en particular o no.

4

DefaultIfEmpty

Emite un elemento predeterminado si el Observable no emite nada.

5

SequenceEqual

Comprueba si dos Observables emiten la misma secuencia de elementos.

6

SkipUntil

Descarta los elementos emitidos por el primer Observable hasta que un segundo Observable emite un elemento.

7

SkipWhile

Deseche los elementos emitidos por un Observable hasta que una condición determinada se vuelva falsa.

8

TakeUntil

Descarta elementos emitidos por un Observable después de que un segundo Observable emite un elemento o termina.

9

TakeWhile

Deseche los elementos emitidos por un Observable después de que una condición especificada se vuelva falsa.

Ejemplo de operador condicional

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

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:

No Data
a