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
Prostak
source share3 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
Bala r
source shareTry 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
anubhava
source shareAnother 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
Roberto gimenez
source share