In this tutorial, we will see “How to convert a List to a Stream in Java 8?” And, also we will learn how to filter the stream using Predicate.

Convert a List to a Stream & filter the stream in Java 8 with example...!!! Share on X

Example 1. Convert a List to a Stream

To convert list to a stream, we are going to use List.stream() which returns a sequential Stream with the collection as its source.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

class Convert_List_To_Stream_Java8 {

    public static void main(String args[]) {

        // Create a list of string 
        List <String> listObj = Arrays.asList("Techndeck", "Technology Blog", "For Programmers & Entrepreneurs");

        // Print the List 
        System.out.println("List: \n" + listObj);

        // Convert List to stream 
        Stream <String> stream = listObj.stream();

        // Print the Stream
        System.out.println("\nStream: \n" + Arrays.toString(stream.toArray()));
    }
}

Output:

List: 
[Techndeck, Technology Blog, For Programmers & Entrepreneurs]

Stream: 
[Techndeck, Technology Blog, For Programmers & Entrepreneurs]

Example 2. Filter a Stream using Predicate

Predicate is a function interface part of the java.util.function package. It’s main purpose is to be used as a assignment target for a lambda expression. To filter the stream, we are going to use filter(predicate expression) to build a stream of elements which matches the predicate expression.

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

class Filter_Stream_Using_Predicate_Java8 {

    public static void main(String args[]) {

        // Create a list of string
        List <String> listObj = Arrays.asList("Techndeck", "Technology Blog", "For Programmers & Entrepreneurs");

        // Print the List 
        System.out.println("List: \n" + listObj);

        // Create the predicate which build with items starting with character 'T' 
        Predicate <String> predicateObj = s -> s.startsWith("T");

        System.out.println("\nStream from List whose items starting with 'T': ");

        // Convert List to stream with predicate filter and print it
        listObj.stream()
            .filter(predicateObj)
            .forEach(System.out::println);
    }
}

Output:

List: 
[Techndeck, Technology Blog, For Programmers & Entrepreneurs]

Stream from List whose items starting with 'T': 
Techndeck
Technology Blog

Convert a List to a Stream & filter the stream in Java 8 with example...!!! Share on X

Do you like this Post? – then check my other helpful posts:

Other Useful References:

Author

  • Deepak Verma

    Deepak Verma is a Test Automation Consultant and Software development Engineer for more than 10 years. His mission is to help you become an In-demand full stack automation tester.

    He is also the founder of Techndeck, a blog and online coaching platform dedicated to helping you succeed with all the automation basics to advanced testing automation tricks.

    View all posts