Java 8, released more than a decade ago, is a major milestone. With this version, Java brought a fundamental shift from only being an object-oriented programming (OOP) to a combination of OOP and functional programming (FP) as well. To achieve this, Java 8 came in with support of lambdas, stream APIs, etc., as core language features.
Stream API is influenced and modeled after the collection pipeline. A typical stream has three stages, viz., source, intermediate operations, and terminal operations.