With the release of Java 8 in 2014 Oracle brought Java more inline with the many modern languages of today. The addition of Streams and Lambdas was a much needed breath of fresh air for the platform and brought with it a new wave of declarative programming. In this tutorial we’ll be going over Streams, some of their features, some of their drawbacks, and a variety of use cases.
A Stream is, effectively, a read-once data view. Wow, that’s a lot of keywords, let’s take a step back and talk about each part of that statement before we keep going.