Inspectopedia Help

Map.forEach() can be used

Suggests replacing for(Entry<?,?> entry : map.entrySet()) {...} or map.entrySet().forEach(entry -> ...) with map.forEach((key, value) -> ...).

Example

void print(Map<String, Integer> map) { map.entrySet().forEach(entry -> { String str = entry.getKey(); System.out.println(str + ":" + entry.getValue()); }); }

After the quick-fix is applied:

void print(Map<String, Integer> map) { map.forEach((str, value) -> System.out.println(str + ":" + value)); }

When the Do not report loops option is enabled, only entrySet().forEach() cases will be reported. However, the quick-fix action will be available for for-loops as well.

This inspection only reports if the language level of the project or module is 8 or higher.

New in 2017.1

Inspection options

Option

Type

Default

Do not report loops

Checkbox

true

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023