RxJava - Trasformare gli operatori
Di seguito sono riportati gli operatori che vengono utilizzati per trasformare un elemento emesso da un osservabile.
Sr.No. | Operatore e descrizione |
---|---|
1 | Buffer Raccoglie periodicamente gli elementi da Observable in bundle e quindi emette i bundle anziché gli articoli. |
2 | FlatMap Utilizzato in osservabili annidati. Trasforma gli oggetti in osservabili. Quindi appiattisci gli elementi in un singolo osservabile. |
3 | GroupBy Dividi un osservabile in un insieme di osservabili organizzati per chiave per emettere diversi gruppi di elementi. |
4 | Map Applicare una funzione a ciascun elemento emesso per trasformarlo. |
5 | Scan Applicare una funzione a ciascun elemento emesso, in sequenza e quindi emettere il valore successivo. |
6 | Window Raccoglie periodicamente gli elementi da Observable a Observable e quindi emette le finestre anziché gli elementi. |
Esempio di operatore di trasformazione
Crea il seguente programma Java utilizzando qualsiasi editor di tua scelta, ad esempio C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using map operator to transform 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
.map(String::toUpperCase)
.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:
ABCDEFG