在这篇文章中,我们将看到如何在 Java 中迭代地图。有四种迭代地图的方法
如果在迭代时删除元素,则第一个和第三个选项将抛出 java.util.ConcurrentModificationException。
如果您了解HashMap 的内部工作,那么迭代 HashMap 可能会更容易
举个例子:
package org.arpit.java2blog; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; public class IterateMapMain { public static void main(String args[]) { // HashMap with Country as key and capital as value HashMap<String,String> countryCapitalMap=new HashMap<String,String>(); countryCapitalMap.put("India","Delhi"); countryCapitalMap.put("Japan","Tokyo"); countryCapitalMap.put("France","Paris"); countryCapitalMap.put("Russia","Moscow"); // Iterating Using keySet() and for each loop System.out.println("Iterating Using keySet() and for each loop"); for (String countryKey:countryCapitalMap.keySet()) { System.out.println("Country:"+ countryKey +" and Capital:"+countryCapitalMap.get(countryKey)); } System.out.println("-----------------------------"); // Iterating Using keySet() and java iterator System.out.println("Iterating Using keySet() and java Iterator"); Iterator countryKeySetIterator=countryCapitalMap.keySet().iterator(); while(countryKeySetIterator.hasNext()){ String countryKey=countryKeySetIterator.next(); System.out.println("Country:"+ countryKey +" and Capital:"+countryCapitalMap.get(countryKey)); } System.out.println("-----------------------------"); // Iterating Using entrySet() and for each loop System.out.println("Iterating Using entrySet() and for each loop"); for (Entry<String,String> entry:countryCapitalMap.entrySet()) { System.out.println("Country:"+ entry.getKey() +" and Capital:"+entry.getValue()); } System.out.println("-----------------------------"); // Iterating Using entrySet() and java iterator System.out.println("Iterating Using entrySet() and and java Iterator"); Iterator<Entry<String,String>> entryIterator=countryCapitalMap.entrySet().iterator(); while(entryIterator.hasNext()) { Entry<String,String> entry=entryIterator.next(); System.out.println("Country:"+ entry.getKey() +" and Capital:"+entry.getValue()); } System.out.println("-----------------------------"); } }
运行它,您将得到以下输出:
Iterating Using keySet() and for each loop Country:France and Capital:Paris Country:Russia and Capital:Moscow Country:Japan and Capital:Tokyo Country:India and Capital:Delhi ----------------------------- Iterating Using keySet() and java Iterator Country:France and Capital:Paris Country:Russia and Capital:Moscow Country:Japan and Capital:Tokyo Country:India and Capital:Delhi ----------------------------- Iterating Using entrySet() and for each loop Country:France and Capital:Paris Country:Russia and Capital:Moscow Country:Japan and Capital:Tokyo Country:India and Capital:Delhi ----------------------------- Iterating Using entrySet() and and java Iterator Country:France and Capital:Paris Country:Russia and Capital:Moscow Country:Japan and Capital:Tokyo Country:India and Capital:Delhi -----------------------------
原文链接:https://codingdict.com/