RxJava - 过滤运算符


以下是用于有选择地从 Observable 发出项目的运算符。

先生。 运算符及描述
1

去抖动

仅当发生超时时才发出项目,而不发出其他项目。

2

清楚的

只发出独特的物品。

3

元素At

只发出 Observable 发出的 n 索引处的项目。

4

筛选

仅发出那些通过给定谓词函数的项目。

5

第一的

发出第一个项目或通过给定标准的第一个项目。

6

忽略元素

不要从 Observable 发出任何项目,但标记完成。

7

最后的

发出 Observable 中的最后一个元素。

8

样本

以给定的时间间隔发出最新的项目。

9

跳过

跳过 Observable 中的前 n 个项目。

10

跳过最后一个

跳过 Observable 中的最后 n 个项目。

11

从 Observable 中获取前 n 个项目。

12

最后取

从 Observable 中获取最后 n 个项目。

过滤运算符示例

使用您选择的任何编辑器(例如 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);
   }
}

验证结果

使用javac编译器编译该类,如下所示 -

C:\RxJava>javac ObservableTester.java

现在按如下方式运行 ObservableTester -

C:\RxJava>java ObservableTester

它应该产生以下输出 -

ab