RxJava - Operatoren transformieren

Im Folgenden sind die Operatoren aufgeführt, mit denen ein von einem Observable ausgegebenes Element transformiert wird.

Sr.Nr. Betreiber & Beschreibung
1

Buffer

Sammelt regelmäßig Elemente von Observable in Bündel und gibt dann die Bündel anstelle von Elementen aus.

2

FlatMap

Wird in verschachtelten Observablen verwendet. Wandelt Elemente in Observables um. Reduzieren Sie dann die Elemente zu einem einzigen Observable.

3

GroupBy

Teilen Sie eine Observable in eine Reihe von Observables ein, die nach Schlüsseln organisiert sind, um verschiedene Gruppen von Elementen auszugeben.

4

Map

Wenden Sie auf jedes ausgegebene Element eine Funktion an, um es zu transformieren.

5

Scan

Wenden Sie nacheinander eine Funktion auf jedes ausgegebene Element an und geben Sie dann den nachfolgenden Wert aus.

6

Window

Sammelt regelmäßig Elemente aus Observable in Observable-Fenster und gibt dann die Fenster anstelle von Elementen aus.

Beispiel für einen transformierenden Operator

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl, z. B. in 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);
   }
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt -

C:\RxJava>javac ObservableTester.java

Führen Sie nun den ObservableTester wie folgt aus:

C:\RxJava>java ObservableTester

Es sollte die folgende Ausgabe erzeugen -

ABCDEFG