官术网_书友最值得收藏!

elementAt()

You can get a specific emission by its index specified by a Long, starting at 0. After that item is found and emitted, onComplete() will be called and the subscription will be disposed of.

If you want to get the fourth emission coming from an Observable, you can do it as shown in the following code snippet:

import io.reactivex.Observable;

public class Launcher {
public static void main(String[] args) {

Observable.just("Alpha", "Beta", "Zeta", "Eta", "Gamma",
"Delta")
.elementAt(3)
.subscribe(i -> System.out.println("RECEIVED: " + i));
}
}

The output of the following code snippet is as follows:

RECEIVED: Eta

You may not have noticed, but elementAt() returns Maybe<T> instead of Observable<T>. This is because it will yield one emission, but if there are fewer emissions than the sought index, it will be empty.

There are other flavors of elementAt(), such as elementAtOrError(), which return a Single and will emit an error if an element at that index is not found. singleElement() will turn an Observable into a Maybe, but will produce an error if there is anything beyond one element. Finally, firstElement() and lastElement() will yield, maybe emitting the first or last emission, respectively.

主站蜘蛛池模板: 兰溪市| 珠海市| 文昌市| 济宁市| 高平市| 原阳县| 临猗县| 咸丰县| 亳州市| 大港区| 射阳县| 泰和县| 玉山县| 枣庄市| 利津县| 长兴县| 博爱县| 远安县| 西充县| 东宁县| 犍为县| 武鸣县| 辉县市| 铅山县| 瓦房店市| 建平县| 塘沽区| 永昌县| 凤庆县| 德钦县| 丹棱县| 诏安县| 张掖市| 海晏县| 苍南县| 宜黄县| 永福县| 镇宁| 新乡县| 尼木县| 扎鲁特旗|