RxJava - ตัวดำเนินการทางคณิตศาสตร์
ต่อไปนี้เป็นตัวดำเนินการที่ทำงานกับรายการทั้งหมดที่ปล่อยออกมาโดย Observable
ซีเนียร์ | ตัวดำเนินการและคำอธิบาย |
---|---|
1 | Average ประเมินค่าเฉลี่ยของรายการทั้งหมดและแสดงผลลัพธ์ |
2 | Concat ปล่อยไอเท็มทั้งหมดจาก Observable หลายตัวโดยไม่มีการแทรกสลับ |
3 | Count นับรายการทั้งหมดและแสดงผลลัพธ์ |
4 | Max ประเมินไอเท็มมูลค่าสูงสุดของไอเท็มทั้งหมดและแสดงผลลัพธ์ |
5 | Min ประเมินไอเท็มมูลค่าต่ำสุดของไอเท็มทั้งหมดและแสดงผลลัพธ์ |
6 | Reduce ใช้ฟังก์ชันกับแต่ละรายการและส่งคืนผลลัพธ์ |
7 | Sum ประเมินผลรวมของไอเท็มทั้งหมดและแสดงผลลัพธ์ |
ตัวอย่างตัวดำเนินการทางคณิตศาสตร์
สร้างโปรแกรม Java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือกใน C: \> RxJava
ObservableTester.java
import io.reactivex.Observable;
//Using concat operator to operate on multiple Observables
public class ObservableTester {
public static void main(String[] args) throws InterruptedException {
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.concat(observable1, observable2)
.subscribe( letter -> result.append(letter));
System.out.println(result);
}
}
ตรวจสอบผลลัพธ์
รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -
C:\RxJava>javac ObservableTester.java
ตอนนี้เรียกใช้ ObservableTester ดังนี้ -
C:\RxJava>java ObservableTester
ควรให้ผลลัพธ์ดังต่อไปนี้ -
abcdefg123456