
Following are the operators which are used to transform an item emitted from an Observable.
| Sr.No. | Operator & Description |
|---|---|
| 1 | Buffer Gathers items from Observable into bundles periodically and then emit the bundles rather than items. |
| 2 | FlatMap Used in nested observables. Transforms items into Observables. Then flatten the items into single Observable. |
| 3 | GroupBy Divide an Observable into set of Observables organized by key to emit different group of items. |
| 4 | Map Apply a function to each emitted item to transform it. |
| 5 | Scan Apply a function to each emitted item, sequentially and then emit the successive value. |
| 6 | Window Gathers items from Observable into Observable windows periodically and then emit the windows rather than items. |
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
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);
}
}
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 −
ABCDEFG