//方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
Map map = new HashMap();
map.put(1, 2);
map.put(3, 4);
for (Map.Entry entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
System.out.println("-------------------------------");
//方式二 在for-each循环中遍历keys或values。
Map map2 = new HashMap();
map2.put(1, 2);
map2.put(3, 4);
//遍历map中的键
for (Integer key : map2.keySet()) {
System.out.println("Key = " + key);
}
//遍历map中的值
for (Integer value : map2.values()) {
System.out.println("Value = " + value);
}
System.out.println("-------------------------------");
//方式三使用Iterator遍历
//使用泛型:
Map map3 = new HashMap();
map3.put(1, 2);
map3.put(3, 4);
Iterator> entries = map3.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = entries.next();
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
System.out.println("-------------------------------");
//不使用泛型
Map map4 = new HashMap();
map4.put(1, 2);
map4.put(3, 4);
Iterator entries4 = map4.entrySet().iterator();
while (entries4.hasNext()) {
Map.Entry entry = (Map.Entry) entries4.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
System.out.println("Key = " + key + ", Value = " + value);
}
System.out.println("-------------------------------");
//方式四、通过键找值遍历(效率低)
Map map5 = new HashMap();
map5.put(1, 2);
map5.put(3, 4);
for (Integer key : map5.keySet()) {
Integer value = map5.get(key);
System.out.println("Key = " + key + ", Value = " + value);
}
键值都要使用方法一。
如果仅需要键(keys)或值(values)使用方法二。
如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。