The streams functional design pattern presents a pipeline functionality used to transform data. In this sense, transforming data is different from mutating data. Data is transformed in the stream, but not mutated. In order to obtain the transformed data, a call must be made to the terminal operation. Once a stream is closed, it can no longer be accessed, nor can the transformed data.
The following table provides a lexicon of terminology relevant to the streams functional design pattern:
Term | Explanation |
Stream | A pipeline of functionality. |
Transform | Changing data in the stream. |
Mutation | Permanently changing data. |
Creator | Creating a stream generates an infinite sequential unordered stream. |
Intermediate operation | Returns a stream and supports querying when a terminal operation is executed. |
Terminal operation | Provides a non-stream... |