- Given an EnumMap containing key value pairs in java.
- EnumMap is specialized Map implementation, to use enum as key(s).
- Enum maps are maintained in the natural order of their keys (the order in which the enum constants are declared).
- EnumMap will containing enum as its key.
- e.g EnumMap will contain key, enum of Human development index and value, the list of countries.
Iterate or loop through EnumMap in java
- Iterate or loop EnumMap using entrySet iterator.
- Iterate EnumMap using entrySet iterator.
- Iterate or loop EnumMap using forEach (java 8)
- Iterate EnumMap using forEach loop in java 8.
Program: loop or iterate through EnumMap in java
package org.learn.collection.map.emap; import java.util.Arrays; import java.util.EnumMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; enum HDI { Very_High, High, Medium, Low } public class DemoEnumMap { public static void main(String[] args) { Map<HDI, List<String>> enumHDIAndCountries = new EnumMap<>(HDI. class ); enumHDIAndCountries.put(HDI.Very_High, Arrays.asList( "Norway" , "Australia" , "Switzerland" )); enumHDIAndCountries.put(HDI.High, Arrays.asList( "Belarus" , "Russia" , "Oman" )); enumHDIAndCountries.put(HDI.Medium, Arrays.asList( "Botswana" , "Moldova" , "Egypt" )); enumHDIAndCountries.put(HDI.Low, Arrays.asList( "Kenya" , "Angola" , "Nigeria" )); System.out.println( "Method 1 - Iterate EnumMap: " ); demoIterateEnumMap(enumHDIAndCountries); System.out.println( "\nMethod 2 - Iterate EnumMap using java 8: " ); demoIterateEnumMapJava8(enumHDIAndCountries); } private static void demoIterateEnumMap(Map<HDI, List<String>> enumHDIAndCountries) { for (Entry<HDI, List<String>> entry : enumHDIAndCountries.entrySet()) { HDI vehicleNumber = entry.getKey(); List<String> owner = entry.getValue(); System.out.println( "HDI:" + vehicleNumber + ", Countries:" + owner); } } private static void demoIterateEnumMapJava8(Map<HDI, List<String>> enumHDIAndCountries) { enumHDIAndCountries.forEach((key, value) -> { System.out.println( "HDI:" + key + ", Countries:" + value); }); } } |
Output – iterate through EnumMap using entrySet or forEach in java
Method 1 - Iterate EnumMap: HDI:Very_High, Countries:[Norway, Australia, Switzerland] HDI:High, Countries:[Belarus, Russia, Oman] HDI:Medium, Countries:[Botswana, Moldova, Egypt] HDI:Low, Countries:[Kenya, Angola, Nigeria] Method 2 - Iterate EnumMap using java 8: HDI:Very_High, Countries:[Norway, Australia, Switzerland] HDI:High, Countries:[Belarus, Russia, Oman] HDI:Medium, Countries:[Botswana, Moldova, Egypt] HDI:Low, Countries:[Kenya, Angola, Nigeria] |