In this tutorial, we will see “How to filter null values from Map in Java 8?”. In order to remove null from the hashmap, we are going to use Stream API introduced in Java 8.

In the below specified example, I’ve explained 2 different code approaches to achieve the same output:

  1. Anonymous Implementation
  2. Lambda Implementation

Filter/Remove null values from a Map using Stream in Java 8...!!! Share on X

Example

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Consumer;
import java.util.function.Predicate;

public class Filter_Null_Map_Java8_Stream_Example {

    public static void main(String[] args) {

        Map <Integer, String> map = new HashMap <Integer, String> ();

        map.put(65, "noni");
        map.put(33, "yogi");
        map.put(73, "dv");
        map.put(46, "null");
        map.put(37, "isha");
        map.put(98, "null");
        map.put(54, "yashu");

        //Original Map
        System.out.println("Original Map:\n");
        map.entrySet().stream().forEach(System.out::println);


        //Map after removing 'Null'
        //Anonymous Implementation
        System.out.println("\nNew Map after removing 'null' (Anonymous Impl):\n");
        map.entrySet().stream().filter(new Predicate < Map.Entry < Integer, String >> () {
            @Override
            public boolean test(Entry <Integer, String> t) {
                return !t.getValue().contains("null");
            }
        }).forEach(new Consumer <Map.Entry <Integer, String>> () {
            @Override
            public void accept(Entry <Integer, String> t) {
                System.out.println(t);
            }
        });
        System.out.println("\n");


        //Map after removing 'Null'
        //Lambda Implementation
        System.out.println("New Map after removing 'null' (Lambda Impl):\n");
        map.entrySet().stream().filter(t -> !t.getValue().contains("null")).forEach(t -> System.out.println(t));



    }

}

 

Output:

Original Map:

65=noni
33=yogi
98=null
37=isha
54=yashu
73=dv
46=null

New Map after removing 'null' (Anonymous Impl):

65=noni
33=yogi
37=isha
54=yashu
73=dv


New Map after removing 'null' (Lambda Impl):

65=noni
33=yogi
37=isha
54=yashu
73=dv

Filter/Remove null values from a Map using Stream in Java 8...!!! 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