
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