Following are the operators which are used to selectively emit item(s) from an Observable.
Sr.No. | Operator & Description |
---|---|
1 | Debounce Emits items only when timeout occurs without emiting another item. |
2 | Distinct Emits only unique items. |
3 | ElementAt emit only item at n index emitted by an Observable. |
4 | Filter Emits only those items which pass the given predicate function. |
5 | First Emits the first item or first item which passed the given criteria. |
6 | IgnoreElements Do not emits any items from Observable but marks completion. |
7 | Last Emits the last element from Observable. |
8 | Sample Emits the most recent item with given time interval. |
9 | Skip Skips the first n items from an Observable. |
10 | SkipLast Skips the last n items from an Observable. |
11 | Take takes the first n items from an Observable. |
12 | TakeLast takes the last n items from an Observable. |
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
import io.reactivex.Observable; //Using take operator to filter 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 .take(2) .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 −
ab