Java 8 Stream API Tutorial

This is a complete and in-depth tutorial, we will go through the practical usage of Java 8 Stream APIs.

YouTube Video - Java 8 Stream API Course

Source code examples and practices described in this tutorial are well tested in our development environment and have been written using JDK 8 or later.
Check out Java 8 Tutorials at
To understand this tutorial, you need to have a basic knowledge of Java 8 (lambda expressions, Optional, method references) and of the Stream API. If you aren’t familiar with these topics, please take a look at our previous articles on Java 8 Tutorial.

Streams are an update to the Java API that lets you manipulate collections of data in a declarative way. Java provides a new additional package in Java 8 called This package consists of classes, interfaces, and an enum to allow functional-style operations on the elements. You can use stream by importing package in your programs.

It is complex to cover all the topics of the Java 8 Stream API tutorial in a single article hence we divided it into separate articles for simplicity.

2021/2022 - Latest Added Java 8 Stream Tutorials and Examples:

Stream API Tutorials/Examples

  • How to Use Java 8 Stream API in Java Projects - As we have learned a lot many things from the above articles so it's time to use Java 8 Stream APIs in real projects. In this article, we will discuss the use case of using Streams in enterprise Java web applications such as we retrieve an object from the database and converting it into DTO, and then sending DTO as JSON back to Client applications. Read more on How to Use Java 8 Stream API in Java Projects 

Java 8 Main Features