Rxjava 简明教程
RxJava - Filtering Operators
以下是用于有选择地从 Observable 发出项目的操作符。
Sr.No. |
Operator & Description |
1 |
Debounce 仅在没有发出其他项目的情况下出现超时时才发出项目。 |
2 |
Distinct Emits only unique items. |
3 |
ElementAt 仅发出 Observable 发出的第 n 个索引的项目。 |
4 |
Filter 只发出通过给定谓词函数的那些项目。 |
5 |
First 发出第一个项目,或通过给定准则的第一个项目。 |
6 |
IgnoreElements 不从 Observable 发出任何项目,但会标记为完成。 |
7 |
Last 从 Observable 发出最后一个元素。 |
8 |
Sample 使用给定的时间间隔发出最新的项目。 |
9 |
Skip 从 Observable 跳过前 n 个项目。 |
10 |
SkipLast 从 Observable 跳过最后 n 个项目。 |
11 |
Take 从 Observable 取前 n 个项目。 |
12 |
TakeLast 从 Observable 取最后 n 个项目。 |
Filtering Operator Example
在任意编辑器中使用任何您选择的语言(如 C:\>RxJava) 创建以下 Java 程序。
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);
}
}