RxJava - Transforming Operators


Advertisements

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.

Transforming Operator Example

Create the following Java program using any editor of your choice in, say, C:\> RxJava.

ObservableTester.java

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);
   }
}

Verify the 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
Advertisements