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

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.

主站蜘蛛池模板: 永福县| 沐川县| 三河市| 曲沃县| 绥宁县| 黔江区| 河津市| 廊坊市| 峨眉山市| 舞钢市| 沧州市| 长沙市| 浦北县| 柘城县| 永平县| 阜新市| 平乡县| 思南县| 宁陵县| 中山市| 临汾市| 丹巴县| 秭归县| 汶川县| 沂南县| 宜川县| 定远县| 高尔夫| 德兴市| 孟连| 玉溪市| 天台县| 称多县| 揭阳市| 太康县| 施甸县| 兴国县| 铜山县| 格尔木市| 会泽县| 衡水市|