By Alvin Alexander. Last updated: July 22, 2019
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.