RxJava - Операторы фильтрации
Ниже приведены операторы, которые используются для выборочной выдачи элемента (ов) из Observable.
Sr.No. | Оператор и описание |
---|---|
1 | Debounce Выдает элементы только тогда, когда истекает тайм-аут, без передачи другого элемента. |
2 | Distinct Испускает только уникальные предметы. |
3 | ElementAt испускать только элемент с индексом n, выдаваемый Observable. |
4 | Filter Испускает только те элементы, которые передают данную функцию-предикат. |
5 | First Выдает первый элемент или первый элемент, который соответствует заданным критериям. |
6 | IgnoreElements Не генерирует никаких элементов из Observable, но отмечает завершение. |
7 | Last Испускает последний элемент из Observable. |
8 | Sample Выдает самый последний элемент с заданным интервалом времени. |
9 | Skip Пропускает первые n элементов из Observable. |
10 | SkipLast Пропускает последние n элементов из наблюдаемого. |
11 | Take берет первые n элементов из Observable. |
12 | TakeLast берет последние n элементов из Observable. |
Пример оператора фильтрации
Создайте следующую программу Java, используя любой редактор по вашему выбору, например, 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);
}
}
Проверить результат
Скомпилируйте класс, используя javac компилятор следующим образом -
C:\RxJava>javac ObservableTester.java
Теперь запустите ObservableTester следующим образом -
C:\RxJava>java ObservableTester
Он должен выдать следующий результат -
ab