Using streams to collect data
In Chapter 8, 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 don't store their elements. They only process the elements stored on a data source (a data structure, a file, and so on)
- 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 8, Processing...