- RxJava 教程
- RxJava - 首頁
- RxJava - 概述
- RxJava - 環境設定
- 可觀察物件
- RxJava - 可觀察物件的工作原理
- RxJava - 建立可觀察物件
- RxJava - Single 可觀察物件
- RxJava - Maybe 可觀察物件
- RxJava - Completable 可觀察物件
- RxJava - 使用 CompositeDisposable
- 運算子
- RxJava - 建立運算子
- RxJava - 變換運算子
- RxJava - 過濾運算子
- RxJava - 組合運算子
- RxJava - 工具運算子
- RxJava - 條件運算子
- RxJava - 數學運算子
- RxJava - 可連線運算子
- 主題
- RxJava - 主題
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- 排程器
- RxJava - 排程器
- RxJava - Trampoline 排程器
- RxJava - NewThread 排程器
- RxJava - Computation 排程器
- RxJava - IO 排程器
- RxJava - From 排程器
- 其他
- RxJava - 緩衝
- RxJava - 視窗
- RxJava 有用資源
- RxJava - 快速指南
- RxJava - 有用資源
- RxJava - 討論
RxJava - 組合運算子
以下是用於從多個可觀察物件建立單個可觀察物件的運算子。
| 序號 | 運算子和描述 |
|---|---|
| 1 |
And/Then/When
使用 Pattern 和 Plan 中介組合專案集。 |
| 2 |
CombineLatest
透過指定的函式組合每個可觀察物件發出的最新專案,併發出結果專案。 |
| 3 |
Join
如果在第二個可觀察物件發出的專案的時限內發出,則組合兩個可觀察物件發出的專案。 |
| 4 |
Merge
組合可觀察物件發出的專案。 |
| 5 |
StartWith
在開始發出源可觀察物件的專案之前,發出指定的專案序列。 |
| 6 |
Switch
發出可觀察物件發出的最新專案。 |
| 7 |
Zip
基於函式組合可觀察物件的專案,併發出結果專案。 |
組合運算子示例
使用您選擇的任何編輯器在例如 C:\> RxJava 中建立以下 Java 程式。
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
它應該產生以下輸出 -
g1g2g3g4g5g6
廣告