Reducing operators
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.
count()
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...