
Following are the operators which operates on entire items emitted by an Observable.
| Sr.No. | Operator & Description |
|---|---|
| 1 | Average Evaluates averages of all items and emit the result. |
| 2 | Concat Emits all items from multiple Observable without interleaving. |
| 3 | Count Counts all items and emit the result. |
| 4 | Max Evaluates max valued item of all items and emit the result. |
| 5 | Min Evaluates min valued item of all items and emit the result. |
| 6 | Reduce Apply a function on each item and return the result. |
| 7 | Sum Evaluates sum of all items and emit the result. |
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
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);
}
}
Compile the class using javac compiler as follows −
C:\RxJava>javac ObservableTester.java
Now run the ObservableTester as follows −
C:\RxJava>java ObservableTester
It should produce the following output −
abcdefg123456