Streams
Learn about streams in Java 8.
Stream interface
The Stream interface is located in the java.util.stream package. It represents a sequence of objects somewhat like the Iterator interface. However, unlike the Iterator, it supports parallel execution.
The Stream interface supports the map/filter/reduce pattern and executes lazily, forming the basis (along with lambdas) for functional-style programming in Java 8.
There are also corresponding primitive streams, IntStream, DoubleStream, and LongStream, for performance reasons.
Generating streams
The most obvious way to create a stream is from a Collection.
The Collection interface has two default methods for creating streams:
stream(): Returns a sequential Stream with the collection as its source.parallelStream()