How to filter null values using Java 8 Stream API

We can make use of the intermediate filter() operation on a stream to filter out the null values as follows.

Example:
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class Main {

    public static void main(String[] args) {

        List<String> namesList = new ArrayList<>();
        namesList.add("Mike");
        namesList.add("Sam");
        namesList.add(null);
        namesList.add("Alex");
        namesList.add(null);

        List<String> namesWithoutNulls = namesList.stream()
                .filter(Objects::nonNull)
                .toList();

        System.out.println("Name list with nulls: " + namesList);
        System.out.println("Name list without nulls: " + namesWithoutNulls);

    }
}
Output:

Name list with nulls: [Mike, Sam, null, Alex, null]
Name list without nulls: [Mike, Sam, Alex]

Comments & Discussion

Facing issues? Have questions? Post them here! We're happy to help!