elementAt的作用就是获取指定的数据
Observable.just(1, 2, 3, 4, 5).elementAt(0).subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
System.out.println(integer);
}
});
public final Maybe<T> elementAt(long index) {
if (index < 0) {
throw new IndexOutOfBoundsException("index >= 0 required but it was " + index);
}
return RxJavaPlugins.onAssembly(new ObservableElementAtMaybe<T>(this, index));
}
调用到onNext时,当count与index一样时,数据流就可以结束了,并且将数据发射出来。
public void onNext(T t) {
if (done) {
return;
}
long c = count;
if (c == index) {
done = true;
upstream.dispose();
downstream.onSuccess(t);
return;
}
count = c + 1;
}