遍历Map的四种方法

//测试Map
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");

Set<String> keySet= map.keySet();
Collection<String> valueCollection= map.values();
Set<Map.Entry<String, String>> entrySet= map.entrySet();
// 为什么一个生成Set,一个生成Collection?那是因为,key总是独一无二的,value允许重复。


//第一种:普遍使用,二次取值
System.out.println("第一种:通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println(key+"=="+map.get(key));
}
//第二种
System.out.println("第二种:通过Map.values()遍历所有的value,但不能遍历key");
for (String value : map.values()) {
System.out.println(value);
}
//第三种
System.out.println("第三种:通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey()+"=="+entry.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(entry.getKey()+"=="+entry.getValue());
}

控制台输出:

第一种:通过Map.keySet遍历key和value:
3==value3
2==value2
1==value1
第二种:通过Map.values()遍历所有的value,但不能遍历key
value3
value2
value1
第三种:通过Map.entrySet遍历key和value
3==value3
2==value2
1==value1
第四种:通过Map.entrySet使用iterator遍历key和value:
3==value3
2==value2
1==value1

http://www.cnblogs.com/kristain/articles/2033566.html

原文地址:https://www.cnblogs.com/hym-pcitc/p/5695538.html