java.util.Map.forEach(BiConsumer)
The method Map.forEach(BiConsumer) performs the given action for each entry of the map until all are processed or exception is thrown.
Method signature
The signature of the java.util.Map.forEach(BiConsumer) method is as follows:
default void forEach(BiConsumer<? super K,? super V> action)
The method is available since Java 8.
Parameters
- BiConsumer<? super K, ? super V> action – action to be performed for each entry
Return value
The method takes BiConsumer that returns nothing.
Exceptions
- NullPointerException: when given action is null,
- ConcurrentModificationException: when entry is found to be removed during iteration.
Example usage
In the following code we use java.util.Map.forEach(BiConsumer):
package com.farenda.java.util; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class MapExamples { public static void main(String[] args) { Map<Integer,String> nameForId = new HashMap<>(); nameForId.put(1, "Kajko"); nameForId.put(2, "Kokosz"); System.out.println("Original map: " + nameForId); System.out.println("Pre Java 8 for-each:"); for (Entry<Integer,String> entry : nameForId.entrySet()) { System.out.printf("key: %d, value: %s%n", entry.getKey(), entry.getValue()); } System.out.println("Java 8 forEach:"); nameForId.forEach((key,value) -> System.out.printf("key: %d, value: %s%n", key, value)); } }
The above code produces the following output:
Original map: {1=Kajko, 2=Kokosz} Pre Java 8 for-each: key: 1, value: Kajko key: 2, value: Kokosz Java 8 forEach: key: 1, value: Kajko key: 2, value: Kokosz