Reducing operators
While developing applications, you may face such a situation where you may need to accumulate and consolidate emissions. Note that nearly all the operators under this criteria will only work on a finite producer (Observable/Flowable) that calls onComplete() because typically, we can consolidate only finite datasets. We will explore this behavior as we cover these operators.
Here is a short list of reducing operators, which we will cover in this chapter:
countreduceallanycontains
Counting emissions (count operator)
The count operator subscribes to a producer, counts the emissions, and emits a Single, containing the count of emissions by the producer.
Here is an example:
fun main(args: Array<String>) {
listOf(1,5,9,7,6,4,3,2,4,6,9).toObservable()
.count()
.subscribeBy { println("count $it") }
} The following is the output:

As we can see from the output, this operator counts the emissions from the producer, and emits the count once it receives...