在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Distinct
調度器 Scheduler
Empty/Never/Throw
Replay
這個頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數據發(fā)射完成(通常也必須緩存這些數據),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實現自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個頁面的操作符可用于根據條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數據序列。
這個頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術
Sample
Merge
算術和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個頁面展示了可用于對Observable發(fā)射的數據執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個頁面展示的操作符可用于組合多個Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

Distinct

Distinct

抑制(過濾掉)重復的數據項

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/distinct.c.png" alt="distinct" />

Distinct的過濾規(guī)則是:只允許還沒有發(fā)射過的數據項通過。

在某些實現中,有一些變體允許你調整判定兩個數據不同(distinct)的標準。還有一些實現只比較一項數據和它的直接前驅,因此只會從序列中過濾掉連續(xù)重復的數據。

distinct()

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/distinct.png" alt="distinct" />

RxJava將這個操作符實現為distinct函數。

示例代碼


Observable.just(1, 2, 1, 1, 2, 3)
          .distinct()
          .subscribe(new Subscriber<Integer>() {
        @Override
        public void onNext(Integer item) {
            System.out.println("Next: " + item);
        }

        @Override
        public void onError(Throwable error) {
            System.err.println("Error: " + error.getMessage());
        }

        @Override
        public void onCompleted() {
            System.out.println("Sequence complete.");
        }
    });

輸出

Next: 1
Next: 2
Next: 3
Sequence complete.

distinct(Func1)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/distinct.key.png" alt="distinct" />

這個操作符有一個變體接受一個函數。這個函數根據原始Observable發(fā)射的數據項產生一個Key,然后,比較這些Key而不是數據本身,來判定兩個數據是否是不同的。

distinctUntilChanged

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/distinctUntilChanged.png" alt="distinctUntilChanged" />

RxJava還是實現了一個distinctUntilChanged操作符。它只判定一個數據和它的直接前驅是否是不同的。

distinctUntilChanged(Func1)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/distinctUntilChanged.key.png" alt="distinctUntilChanged.key" />

distinct(Func1)一樣,根據一個函數產生的Key判定兩個相鄰的數據項是不是不同的。

distinctdistinctUntilChanged默認不在任何特定的調度器上執(zhí)行。

上一篇:Subject下一篇:Filter