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

ElementAt

ElementAt

只發(fā)射第N項數據

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

ElementAt操作符獲取原始Observable發(fā)射的數據序列指定索引位置的數據項,然后當做自己的唯一數據發(fā)射。

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

RxJava將這個(gè)操作符實(shí)現為elementAt,給它傳遞一個(gè)基于0的索引值,它會(huì )發(fā)射原始Observable數據序列對應索引位置的值,如果你傳遞給elementAt的值為5,那么它會(huì )發(fā)射第六項的數據。

如果你傳遞的是一個(gè)負數,或者原始Observable的數據項數小于index+1,將會(huì )拋出一個(gè)IndexOutOfBoundsException異常。

elementAtOrDefault

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

RxJava還實(shí)現了elementAtOrDefault操作符。與elementAt的區別是,如果索引值大于數據項數,它會(huì )發(fā)射一個(gè)默認值(通過(guò)額外的參數指定),而不是拋出異常。但是如果你傳遞一個(gè)負數索引值,它仍然會(huì )拋出一個(gè)IndexOutOfBoundsException異常。

elementAtelementAtOrDefault默認不在任何特定的調度器上執行。