RxJava - Operatori di filtraggio

Di seguito sono riportati gli operatori che vengono utilizzati per emettere selettivamente elementi da un osservabile.

Sr.No. Operatore e descrizione
1

Debounce

Emette elementi solo quando si verifica il timeout senza emettere un altro elemento.

2

Distinct

Emette solo oggetti unici.

3

ElementAt

emette solo elementi con indice n emesso da un osservabile.

4

Filter

Emette solo quegli elementi che passano la funzione predicato data.

5

First

Emette il primo elemento o il primo elemento che ha superato i criteri specificati.

6

IgnoreElements

Non emette alcun oggetto da Observable ma segna il completamento.

7

Last

Emette l'ultimo elemento da Observable.

8

Sample

Emette l'elemento più recente con un determinato intervallo di tempo.

9

Skip

Salta i primi n elementi da un osservabile.

10

SkipLast

Salta gli ultimi n elementi da un osservabile.

11

Take

prende i primi n elementi da un osservabile.

12

TakeLast

prende gli ultimi n elementi da un osservabile.

Esempio di operatore di filtro

Crea il seguente programma Java utilizzando qualsiasi editor di tua scelta, ad esempio 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);
   }
}

Verifica il risultato

Compila la classe usando javac compilatore come segue -

C:\RxJava>javac ObservableTester.java

Ora esegui ObservableTester come segue:

C:\RxJava>java ObservableTester

Dovrebbe produrre il seguente output:

ab