/** * If the {@link Observable} completes after emitting a single item that matches a given * predicate, return that item, otherwise throw an <code>NoSuchElementException</code>. * * <p><img width="640" * src="https://github.com/Netflix/RxJava/wiki/images/rx-operators/B.single.p.png"> * * @param predicate a predicate function to evaluate items emitted by the {@link Observable} * @return the single item emitted by the source {@link Observable} that matches the predicate * @see <a * href="https://github.com/Netflix/RxJava/wiki/Blocking-Observable-Operators#single-and-singleordefault">RxJava * Wiki: single()</a> * @see <a * href="http://msdn.microsoft.com/en-us/library/system.reactive.linq.observable.single.aspx">MSDN: * Observable.Single</a> */ public T single(Func1<? super T, Boolean> predicate) { return from(o.single(predicate)).toIterable().iterator().next(); }
/** * If the {@link Observable} completes after emitting a single item, return that item, otherwise * throw an <code>NoSuchElementException</code>. * * <p><img width="640" * src="https://github.com/Netflix/RxJava/wiki/images/rx-operators/B.single.png"> * * @return the single item emitted by the {@link Observable} * @see <a * href="https://github.com/Netflix/RxJava/wiki/Blocking-Observable-Operators#single-and-singleordefault">RxJava * Wiki: single()</a> * @see <a * href="http://msdn.microsoft.com/en-us/library/system.reactive.linq.observable.single.aspx">MSDN: * Observable.Single</a> */ public T single() { return from(o.single()).toIterable().iterator().next(); }