Lesson 10 - Introduction to StreamAPI and lambda expressions in Java
In the previous lesson, The Collections Java utility class - Creating collections, we learned about the
Collections library class and its utility methods. In today's Java
tutorial, we're going to focus on StreamAPI, a set of tools for querying data.
It's a very useful technology that makes collections easier to work with and
saves many lines of code compared to regular use of loops.
StreamAPI is a new abstract layer to process data in collections. Along with StreamAPI, which came with Java version 8, lambda expressions simplifying queries considerably have also appeared. This approach to collections can remind you of SQL.
Every stream goes through the following three stages:
- creation - we create streams from data or generate them by generators
- modification - each stream modification creates a new stream
- consumption - we use the stream result, store data to a collection
Let's have a small example before we go on. Create a new project, it's going
to be a console application named
StreamAPI. We'll create a simple
List<String> jmena = Arrays.aslist("David", "Martin", "Dan", "Peter", "Michael", "Elisabeth");
Now, we select and print the items from this array that are longer than 5 characters, using a StreamAPI query. We'll write the following code into the program, which we're going to explain right after:
...End of the preview...
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Requested article covers this content:
In this tutorial, we'll introduce StreamAPI technology and the basics of querying data in Java. We'll explain how StreamAPI works and learn simple queries.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.