Too Long; Didn't Read
Java team included when bundling JDK 1.8 is the Streams API. The purpose of streams is to process a sequence of elements by executing different kinds of operations on the elements. A Stream is not a data structure like Arrays/Queue etc. instead it takes input from Collections, arrays, or I/O channels. Streams are used to perform complex data processing operations on collections data. They represent a pipeline through which the data flow and the functions to operate on the data.