Using streams to collect data
In Chapter 7, Processing Massive Datasets with Parallel Streams – The Map and Reduce Model, we made an introduction to streams. Let's remember their most important characteristics:
Streams' elements are not stored in the memory
Streams can't be reusable
Streams make a lazy processing of data
The stream operation cannot modify the stream source
Streams allow you to chain operations so the output of one operation is the input of the next one
A stream is formed by the following three main elements:
A source that generates stream elements
Zero or more intermediate operations that generate output as another stream
One terminal operation that generates a result that could be either a simple object, array, collection, map, or anything else
The Stream
API provides different terminal operations, but there are two more significant operations for their flexibility and power. In Chapter 7, Processing Massive Datasets with Parallel Streams – The Map and Reduce Model, you learned how...