Rxjava 简明教程
RxJava - Filtering Operators
以下是用于有选择地从 Observable 发出项目的操作符。
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. |
Filtering Operator Example
在任意编辑器中使用任何您选择的语言(如 C:\>RxJava) 创建以下 Java 程序。
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
ObservableTester.java
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);
}
}