How to iterate (loop) over the elements in a Map in Java 8

If you need to iterate over the elements in a Map in Java 8, this source code shows how to do it:

Map<String, String> map = new HashMap<String, String>();
map.put("first_name", "Alvin");
map.put("last_name",  "Alexander");

// java 8
map.forEach((k,v)->System.out.println("key: " + k + ", value: " + v));

This approach uses an anonymous function — also known as a lambda — and it’s similar to the approach used to traverse a Map in Scala.

How to iterate a Java 8 Map: A complete example

The following complete example shows how to iterate over all of the elements in a Java Map (or HashMap) using both a) the Java 8 style and b) the type of code you had to use prior to Java 8:

package java8_tests;

import java.util.HashMap;
import java.util.Map;

public class IterateOverJava8Map {
    
    public static void main(String[] args) {
        
        Map<String, String> map = new HashMap<String, String>();
        map.put("first_name", "Alvin");
        map.put("last_name",  "Alexander");

        // java 8
        map.forEach((k,v)->System.out.println("key: " + k + ", value: " + v));

        // prior to java 8
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("key: " + entry.getKey() + ", value: " + entry.getValue());
        }

    }

}

As a quick summary, if you needed to see how to iterate over the elements in a Map/HashMap in Java 8, I hope this is helpful.