You will likely have moments where you want to take a series of emissions and consolidate them into a single emission (usually emitted through a Single
). We will cover a few operators that accomplish this. Note that nearly all of these operators only work on a finite Observable
that calls onComplete()
because typically, we can consolidate only finite datasets. We will explore this behavior as we cover these operators.
The simplest operator to consolidate emissions into a single one is count()
. It will count the number of emissions and emit through a Single once onComplete()
is called, shown as follows:
import io.reactivex.Observable; public class Launcher { public static void main(String[] args) { Observable.just("Alpha", "Beta", "Gamma", "Delta", "Epsilon") .count() .subscribe(s -> System.out.println("Received: " + s)); } }
The output of the preceding code snippet is as follows:
Received: 5
Like most reduction operators...