Java 8 brought a number of new features to Java, one of those features was the Streams API. This API brought an easy way to create functional style list manipulation elements using a simple API. This is extremely powerful and allows you to create extremely complex interactions with relatively little code.
For those familiar with C#, the Java Streams API offers a core feature set very similar to what you can do with LINQ. Certain syntactic limitations exist as well as a lack of extension methods to easily expand the system. Java solves these differences in other ways.
The java Stream javadocs are here: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html
Curious about the Reactive Extensions and how they’re different? Check out the video on building Fizz Buzz using JavaRX: https://youtu.be/ZTqIg-Fk2n4