Учебники

RxJava — Операторы преобразования

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

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

буфер

Периодически собирает предметы из Observable в связки, а затем испускает связки, а не предметы.

2

FlatMap

Используется во вложенных наблюдаемых объектах. Преобразует предметы в Observables. Затем сгладьте предметы в единый Observable.

3

Группа по

Разделите Observable на набор Observables, организованных по ключу, чтобы испустить другую группу предметов.

4

карта

Примените функцию к каждому излучаемому элементу, чтобы преобразовать его.

5

сканирование

Примените функцию к каждому излучаемому элементу последовательно, а затем введите последующее значение.

6

Окно

Периодически собирает предметы из Observable в окна Observable, а затем испускает окна, а не предметы.

буфер

Периодически собирает предметы из Observable в связки, а затем испускает связки, а не предметы.

FlatMap

Используется во вложенных наблюдаемых объектах. Преобразует предметы в Observables. Затем сгладьте предметы в единый Observable.

Группа по

Разделите Observable на набор Observables, организованных по ключу, чтобы испустить другую группу предметов.

карта

Примените функцию к каждому излучаемому элементу, чтобы преобразовать его.

сканирование

Примените функцию к каждому излучаемому элементу последовательно, а затем введите последующее значение.

Окно

Периодически собирает предметы из Observable в окна Observable, а затем испускает окна, а не предметы.

Пример оператора преобразования

Создайте следующую Java-программу, используя любой редактор по вашему выбору, например, в 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);
   }
}

Проверьте результат

Скомпилируйте класс с помощью компилятора javac следующим образом:

C:\RxJava>javac ObservableTester.java

Теперь запустите ObservableTester следующим образом:

C:\RxJava>java ObservableTester

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