?
Map的几种遍历方式:
?
public static <K,V> void iteratorMap(Map<K, V> map){
/**
* 下面通过四种方式来取出map中的key 和value
* 两种思路:1.entrySet 2.keySet
* 两种方式:1.for(:) 2.while()
* */
//注意:通过key来获取value的效率非常低,要避免这样使用
/**
* 1.while 循环遍历entrySet
*/
Set<Map.Entry<K, V>> set = map.entrySet();
Iterator<Map.Entry<K, V>> it = set.iterator();
while(it.hasNext()){
Map.Entry<K, V> entry = it.next();
System.out.println("一:" + entry.getKey() + "="+ entry.getValue());
}
/**
* 2.for 循环遍历entrySet
* */
for(Map.Entry<K, V> entry : map.entrySet()){
System.out.println( "二:"+ entry.getKey() + "=" + entry.getValue());
}
/**
* 3.for 循环遍历keySet (获取key,通过for循环间接获取value)
* */
for(K k : map.keySet()){
System.out.println( "三:" + k + "=" + map.get(k));
}
/**
* 4.while 循环遍历keySet (获取key,通过while循环间接获取value)
* */
Set<K> set2 = map.keySet();
Iterator<K> it2 = set2.iterator();
while(it2.hasNext()){
K k = it2.next();
System.out.println("四:" + k + "=" + map.get(k));
}
}
?
原文:http://henu-zhangyang.iteye.com/blog/2236860