RxJava-フィルタリング演算子
以下は、Observableからアイテムを選択的に放出するために使用される演算子です。
シニア番号 | オペレーターと説明 |
---|---|
1 | Debounce 別のアイテムを発行せずにタイムアウトが発生した場合にのみアイテムを発行します。 |
2 | Distinct ユニークなアイテムのみを放出します。 |
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個のアイテムを取得します。 |
フィルタリング演算子の例
たとえば、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