1. For-Each迭代keys和values。
迭代keys:
for (String key :mp.keySet()) { System.out.println("Key = " + key); System.out.println("Value = " + mp.get(key)); }
迭代values:
for (String value : mp.values()) { System.out.println("Value = " + value); }
2、For-Each迭代entries。
for(Map.Entry<String, String> entry : mp.entrySet()){ System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue()); }
3、Map.entrySet使用iterator遍历key和value。
Iterator<Map.Entry<String, String>> entries = mp.entrySet().iterator(); while (entries.hasNext()) { Map.Entry<String, String> entry = entries.next(); System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); }
注:该方法可以允许我们在迭代的时候从map中删除entries(调iterator.remover())。
demo:
public static void main(String[] args) {
Map<String, String> mp = new HashMap<>();
mp.put("xx","xx");
mp.put("yy","yy");
mp.put("zz","zz");
//For-Each迭代keys和values。
System.out.println("For-Each迭代keys和values。");
for (String key :mp.keySet()) {
System.out.println("Key = " + key);
System.out.println("Value = " + mp.get(key));
}
for (String value : mp.values()) {
System.out.println("Value = " + value);
}
//For-Each迭代Entries
System.out.println("For-Each迭代Entries");
for(Map.Entry<String, String> entry : mp.entrySet()){
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
//Map.entrySet使用iterator遍历key和value。
System.out.println("Map.entrySet使用iterator遍历key和value。");
Iterator<Map.Entry<String, String>> entries = mp.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<String, String> entry = entries.next();
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
//if(entry.getKey().equalsIgnoreCase("xx")){
// entries.remove();
//}
}
}