How to create a loop through LinkedHashMap <String, ArrayList <String>>?

Please help me create a loop via LinkedHashMap<String,ArrayList<String>> h :

 if (h.get("key1").size() == 0) System.out.println("There is no errors in key1."); else System.out.println("ERROR: there are unexpected errors in key1."); if (h.get("key2").size() == 0) System.out.println("There is no errors in key2."); else System.out.println("ERROR: there are unexpected errors in key2."); if (h.get("key3").size() == 0) System.out.println("There is no errors in key3."); else System.out.println("ERROR: there are unexpected errors in key3."); if (h.get("key4").size() == 0) System.out.println("There is no errors in key4.\n"); else System.out.println("ERROR: there are unexpected errors in key4.\n"); 
+7
source share
3 answers

Like this?

 for (String key : h.keySet()) { System.out.println("Key: " + key); for(String str : h.get(key)) { System.out.println("\t" +str); } } 

EDIT:

 for (String key : h.keySet()) { if(h.get(key).size() == 0) { System.out.println("There is no errors in " + key) ; } else { System.out.println("ERROR: there are unexpected errors in " + key); } } 
+13
source

Try this code:

 Map<String, ArrayList<String>> a = new LinkedHashMap<String, ArrayList<String>>(); Iterator<Entry<String,ArrayList<String>>> itr = a.entrySet().iterator(); while (itr.hasNext()) { Entry<String,ArrayList<String>> entry = itr.next(); String key = entry.getKey(); System.out.println("key: " + key); List<String> list = entry.getValue(); System.out.println("value: " + list); } 
+6
source

Another way in Java8 is the foreach() method

 Map<String, List<String>> test1 = new LinkedHashMap<String, List<String>>(); test1.forEach((key,value) -> { System.out.println(key + " -> " + value); }); 
+3
source

All Articles