RxJava - Filteroperatoren
Im Folgenden sind die Operatoren aufgeführt, mit denen Elemente von einem Observable selektiv ausgegeben werden.
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | Debounce Gibt Elemente nur aus, wenn eine Zeitüberschreitung auftritt, ohne dass ein anderes Element ausgegeben wird. |
2 | Distinct Gibt nur eindeutige Artikel aus. |
3 | ElementAt emittiere nur Elemente mit n Index, die von einem Observable ausgegeben werden. |
4 | Filter Gibt nur die Elemente aus, die die angegebene Prädikatfunktion erfüllen. |
5 | First Gibt das erste Element oder das erste Element aus, das die angegebenen Kriterien erfüllt hat. |
6 | IgnoreElements Gibt keine Elemente von Observable aus, sondern markiert die Fertigstellung. |
7 | Last Gibt das letzte Element von Observable aus. |
8 | Sample Gibt das aktuellste Element mit einem bestimmten Zeitintervall aus. |
9 | Skip Überspringt die ersten n Elemente eines Observable. |
10 | SkipLast Überspringt die letzten n Elemente eines Observable. |
11 | Take Nimmt die ersten n Elemente aus einem Observable. |
12 | TakeLast Nimmt die letzten n Elemente aus einem Observable. |
Beispiel für einen Filteroperator
Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl, z. B. in 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);
}
}
Ü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 -
ab