Java 8 - Using forEach to iterate map

In this article, we will understand how to iterate a map using lambda expression in Java 8.

Prior to Java 8, there were various approaches to iterate map in Java listed below- 

  1. Iterate Map using for-each loop and KeySet
  2. Iterate Map using KeySet Iterator
  3. Iterate Map using EntrySet and for-each loop
  4. Iterate Map using EntrySet and Iterator

For examples refer - Iterate Map prior to Java 8

But in Java 8 lambda expression was introduced. In Java 8, you can loop a Map with forEach method and lambda expression.

The forEach default method is defined in Map interface. The signature of forEach method is - 

default void forEach(BiConsumer<? super K,? super V> action)

This method performs the given action for each entry in this map until all entries have been processed or the action throws an exception.

Let us iterate Map using forEach method and lambda expression in Java 8.


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

 * @author Amit Gupta
public class IterateMapExample {

	public static void main(String[] args) {

		Map<Integer, String> hMap = new HashMap<Integer, String>();
		hMap.put(1, "ONE");
		hMap.put(2, "TWO");
		hMap.put(3, "THREE");
		hMap.put(4, "FOUR");
		hMap.put(5, "FIVE");

		hMap.forEach((k, v) -> {
			System.out.println("Key : " + k + " --- " + "Value: " + v);



Key : 1 --- Value: ONE
Key : 2 --- Value: TWO
Key : 3 --- Value: THREE
Key : 4 --- Value: FOUR
Key : 5 --- Value: FIVE

In this article, we learnt how to iterate a map using lambda expression in Java 8.

Article tagged as
Author: Amit Gupta
Published On: 25/09/2016
Last revised On: 30/09/2018
View all articles by Amit Gupta

Share this post


comments powered by Disqus


Social Media