What are the differences between Intermediate and Terminal Operations in Java 8 Streams?

Main differences between Intermediate and Terminal Stream operations are as follows:

  • Evaluation: Intermediate operations are not evaluated until we chain it with a Terminal Operation of Stream. Terminal Operations can be independently evaluated.
  • Output: The output of Intermediate Operations is another Stream. The output of Terminal Operations is not a Stream.
  • Lazy: Intermediate Operations are evaluated in lazy manner. Terminal Operations are evaluated in eager manner.
  • Chaining: We can chain multiple Intermediate Operations in a Stream. Terminal Operations cannot be chained multiple times.
  • Multiple: There can be multiple Intermediate operations in a Stream operation. There can be only one Terminal operation in Stream processing statement.

Leave a Reply

Your email address will not be published. Required fields are marked *