/**
* 测试 Map的输出方式
*/
public static void testLoopType(){
Map<String, String> map = new HashMap<String, String>();
map.put(2+"", "B");
map.put(4+"", "D");
map.put(3+"", "C");
map.put(1+"", "A");
System.out.println("集合长度:"+map.size());
// 第一种:
System.out.println("第一种:通过Map.keySet遍历key和value:");
Set<String> set = map.keySet(); //得到所有key的集合
for (String key : set) {
String value = map.get(key);
System.out.println(key + ":" + value);
}
// 第二种:
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()) {
//map.entrySet() 返回此映射中包含的映射关系的 Set视图
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);
}
}
测试结果:
集合长度:4
第一种:通过Map.keySet遍历key和value:
3:C
2:B
1:A
4:D
第二种:通过Map.entrySet使用iterator遍历key和value:
key= 3 and value= C
key= 2 and value= B
key= 1 and value= A
key= 4 and value= D
第三种:通过Map.entrySet遍历key和value
key= 3 and value= C
key= 2 and value= B
key= 1 and value= A
key= 4 and value= D
第四种:通过Map.values()遍历所有的value,但不能遍历key
value= C
value= B
value= A