Java Language Streams


A Stream represents a sequence of elements and supports different kind of operations to perform computations upon those elements. With Java 8, Collection interface has two methods to generate a Stream: stream() and parallelStream(). Stream operations are either intermediate or terminal. Intermediate operations return a Stream so multiple intermediate operations can be chained before the Stream is closed. Terminal operations are either void or return a non-stream result.


  • Stream.iterate(firstValue, currentValue -> nextValue)
  • Stream.generate(() -> value)
  • Stream.of(elementOfT[, elementOfT, ...])
  • Stream.empty()
  • iterable.spliterator(), false )