遍历Map的几种方法
@Test
public void test( ) {
Map<String, String> map = new HashMap<String, String>()
map.put("1", "value1")
map.put("2", "value2")
map.put("3", "value3")
//第一种:map.keySet()为获得map的key值
System.out.println("通过Map.keySet遍历key和value:")
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key))
}
//第二种Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
System.out.println("通过Map.entrySet使用iterator遍历key和value:")
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator()
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next()
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue())
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value")
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue())
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key")
for (String v : map.values()) {
System.out.println("value= " + v)
}
}