RxJava主要的過濾操作符:
filter ( ) :過濾數據。
first ( ) 、 takeFirst ( ) :只發射第一項數據,或者滿足某種條件的第一項數據。
firstOrDefault ( ) :只發射第一項數據,如果Observable爲空,就發射默認值。 elementAt ( ) :發射第 N 項數據。
last ( ) :只發射最後一項數據。
lastOrDefault ( ) :只發射最後一項數據,如果Observable爲空,就發射默認值。
takeLastBuffer ( ) :將最後的N項數據當作單個數據發射。
take ( ) :只發射開始的 N 項數據。
takeLast ( ) :只發射最後的N項數據。
skip ( ) :跳過開始的 N 項數據。
skipLast ( ) :跳過最後的 N 項數據。
elementAtOrDefault ( ) :發射第 N 項數據,如果Observable數據少於 N 項,就發射默認值。
sample ( ) 、throttleLast ( ) :定期發射Observable最近的數據。
throttleFirst ( ) :定期發射Observable發射的第一項數據。
throttleWithTimeout ( )、 debounce ( ) :只有當Observable在指定的時間段後還沒有發射數據時,才發射一個數據。
timeout ( ) :如果在一個指定的時間段後還沒發射數據,就發射一個異常。
distinct ( ) :過濾掉重複的數據。
distinctUntilChanged ( ) :過濾掉連續重複的數據。
ofType ( ) :只發射指定類型的數據。
ignoreElements ( ) :丟棄所有的正常數據,只發射錯誤或完成通知。