RxJava - Operadores de filtrado
A continuación se muestran los operadores que se utilizan para emitir selectivamente elementos desde un Observable.
| No Señor. | Operador y descripción |
|---|---|
| 1 | Debounce Emite elementos solo cuando se agota el tiempo de espera sin emitir otro elemento. |
| 2 | Distinct Emite solo elementos únicos. |
| 3 | ElementAt emitir solo elemento en n índice emitido por un Observable. |
| 4 | Filter Emite solo aquellos elementos que pasan la función de predicado dada. |
| 5 | First Emite el primer elemento o el primer elemento que pasó los criterios dados. |
| 6 | IgnoreElements No emite ningún elemento de Observable pero marca la finalización. |
| 7 | Last Emite el último elemento de Observable. |
| 8 | Sample Emite el elemento más reciente con un intervalo de tiempo determinado. |
| 9 | Skip Omite los primeros n elementos de un Observable. |
| 10 | SkipLast Omite los últimos n elementos de un Observable. |
| 11 | Take toma los primeros n elementos de un Observable. |
| 12 | TakeLast toma los últimos n elementos de un Observable. |
Ejemplo de operador de filtrado
Cree el siguiente programa Java usando cualquier editor de su elección en, digamos, C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using take operator to filter an Observable
public class ObservableTester {
public static void main(String[] args) {
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable = Observable.fromArray(letters);
observable
.take(2)
.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:
ab