Ниже приведены операторы, которые используются для создания одной наблюдаемой из нескольких наблюдаемых.
Sr.No. | Оператор и описание |
---|---|
1 | И / И / Когда
Объедините наборы предметов, используя посредников Pattern и Plan. |
2 | CombineLatest
Объедините последний элемент, испускаемый каждым Наблюдаемым через указанную функцию, и выпустите полученный элемент. |
3 | Присоединиться
Объедините элементы, испускаемые двумя Наблюдаемыми, если они испускаются в течение периода времени второго испускаемого Наблюдаемого элемента. |
4 | сливаться
Объединяет предметы, испускаемые Observables. |
5 | StartWith
Испускать указанную последовательность предметов перед тем, как начать испускать предметы из источника Observable |
6 | переключатель
Издает самые последние предметы, испускаемые Observables. |
7 | застежка — молния
Объединяет элементы Observables на основе функции и испускает полученные элементы. |
Объедините наборы предметов, используя посредников Pattern и Plan.
Объедините последний элемент, испускаемый каждым Наблюдаемым через указанную функцию, и выпустите полученный элемент.
Объедините элементы, испускаемые двумя Наблюдаемыми, если они испускаются в течение периода времени второго испускаемого Наблюдаемого элемента.
Объединяет предметы, испускаемые Observables.
Испускать указанную последовательность предметов перед тем, как начать испускать предметы из источника Observable
Издает самые последние предметы, испускаемые Observables.
Объединяет элементы Observables на основе функции и испускает полученные элементы.
Пример оператора объединения
Создайте следующую Java-программу, используя любой редактор по вашему выбору, например, в C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable; //Using combineLatest operator to combine Observables public class ObservableTester { public static void main(String[] args) { Integer[] numbers = { 1, 2, 3, 4, 5, 6}; String[] letters = {"a", "b", "c", "d", "e", "f", "g"}; final StringBuilder result = new StringBuilder(); Observable<String> observable1 = Observable.fromArray(letters); Observable<Integer> observable2 = Observable.fromArray(numbers); Observable.combineLatest(observable1, observable2, (a,b) -> a + b) .subscribe( letter -> result.append(letter)); System.out.println(result); } }
Проверьте результат
Скомпилируйте класс с помощью компилятора javac следующим образом:
C:\RxJava>javac ObservableTester.java
Теперь запустите ObservableTester следующим образом:
C:\RxJava>java ObservableTester
Он должен произвести следующий вывод —