8/25/2010

HashMap遍历的三种方法

网上都是说有两种,其实严格来说应该是三种;
而且并不是哪种一定是好,哪一种一定是坏,适应当时的情况才是最好的。

代码如下:
Map map = new HashMap();
Iterator e;
//适用于既要遍历key又要遍历value的情况;
e = map.entrySet().iterator();
while(e.hasNext())
{
Map.Entry entry = (Map.Entry) e.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
//适用于只要遍历key的情况,用这种方法去获得value的效率极低;
e = map.keySet().iterator();
while(e.hasNext())
{
Object key = e.next();
Object val = map.get(key);
}
//适用于只要遍历value的情况;
e = map.values().iterator();
while(e.hasNext())
{
Object val = e.next();
}