RxJava - operatory filtrujące
Poniżej znajdują się operatory, które są używane do selektywnego emitowania elementu (ów) z Observable.
Sr.No. | Operator i opis |
---|---|
1 | Debounce Emituje elementy tylko po przekroczeniu limitu czasu bez emitowania innego elementu. |
2 | Distinct Emituje tylko unikalne przedmioty. |
3 | ElementAt emituje tylko element o indeksie n emitowanym przez Observable. |
4 | Filter Emituje tylko te elementy, które spełniają daną funkcję predykatu. |
5 | First Emituje pierwszy element lub pierwszy element, który spełnił podane kryteria. |
6 | IgnoreElements Nie emituje żadnych przedmiotów z Observable, ale zaznacza ukończenie. |
7 | Last Emituje ostatni element z Observable. |
8 | Sample Emituje najnowszy element w podanym przedziale czasu. |
9 | Skip Pomija pierwsze n elementów z Observable. |
10 | SkipLast Pomija ostatnie n elementów z Observable. |
11 | Take pobiera pierwsze n elementów z Observable. |
12 | TakeLast pobiera ostatnie n elementów z Observable. |
Przykład operatora filtrującego
Utwórz następujący program w języku Java, używając dowolnego wybranego edytora, na przykład w 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);
}
}
Sprawdź wynik
Skompiluj klasę przy użyciu javac kompilator w następujący sposób -
C:\RxJava>javac ObservableTester.java
Teraz uruchom ObservableTester w następujący sposób -
C:\RxJava>java ObservableTester
Powinien dać następujący wynik -
ab