Учебники

RxJava — операторы фильтрации

Ниже приведены операторы, которые используются для выборочного выброса элемента (ов) из наблюдаемой.

Sr.No. Оператор и описание
1

Debounce

Испускает предметы только тогда, когда происходит тайм-аут, не испуская другой предмет.

2

отчетливый

Издает только уникальные предметы.

3

ElementAt

испускать только элемент с индексом n, испускаемым Observable.

4

Фильтр

Издает только те элементы, которые передают данную функцию предиката.

5

Первый

Издает первый элемент или первый элемент, который соответствует заданным критериям.

6

IgnoreElements

Не испускает никаких предметов из Observable, но отмечает завершение.

7

Прошлой

Испускает последний элемент из Observable.

8

Образец

Издает самый последний элемент с заданным интервалом времени.

9

Пропускать

Пропускает первые n элементов из наблюдаемой.

10

SkipLast

Пропускает последние n элементов из наблюдаемой.

11

принимать

берет первые n предметов из наблюдаемой.

12

TakeLast

берет последние n предметов из наблюдаемой.

Debounce

Испускает предметы только тогда, когда происходит тайм-аут, не испуская другой предмет.

отчетливый

Издает только уникальные предметы.

ElementAt

испускать только элемент с индексом n, испускаемым Observable.

Фильтр

Издает только те элементы, которые передают данную функцию предиката.

Первый

Издает первый элемент или первый элемент, который соответствует заданным критериям.

IgnoreElements

Не испускает никаких предметов из Observable, но отмечает завершение.

Прошлой

Испускает последний элемент из Observable.

Образец

Издает самый последний элемент с заданным интервалом времени.

Пропускать

Пропускает первые n элементов из наблюдаемой.

SkipLast

Пропускает последние n элементов из наблюдаемой.

принимать

берет первые n предметов из наблюдаемой.

TakeLast

берет последние n предметов из наблюдаемой.

Пример оператора фильтрации

Создайте следующую 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

Он должен произвести следующий вывод —