`

遍历map-Java基础

阅读更多

2011-1-6 java遍历map所有元素

//JDK1.5后
Map map = getMap();  
for(Object obj : map.keySet()) {
    Object key = obj;
    Object value = map.get(obj);
}

//JDK1.5之前
Map map =  getMap();
Iterator iter = map.entrySet().iterator();    
while(iter.hasNext()) {
    Map.Entry entry = (Map.Entry)iter.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
}

 

遍历K-V

 

/* 第一种: entryset只遍历一次:它把key和value放到entry */
Map map = getMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
    Map.Entry entry = (Map.Entry) iter.next();
    Object key = entry.getKey();
    Object val = entry.getValue();
}//高效,使用此种方式

/* 第二种: keySet实际遍历了2次:
转为iterator时候一次;
取key对应value又一次。*/
Map map = getMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
    Object key = iter.next();
    Object val = map.get(key);
}//效率低 
 
分享到:
评论
5 楼 jielin000307 2011-06-03  
treeMap ,是第一种效率高
4 楼 jielin000307 2011-06-03  
用hashmap 测了下,是第二种的效率高 
3 楼 抛出异常的爱 2011-06-03  
dotjar 写道
抛出异常的爱 写道
hashmap按value序打印 key ?

异常兄:您的话不完整。
可否讲全,可能水平有些菜,希望理解。

hashmap {aa=12,bb=3,cc=9}

bb
cc
aa
2 楼 dotjar 2011-06-03  
抛出异常的爱 写道
hashmap按value序打印 key ?

异常兄:您的话不完整。
可否讲全,可能水平有些菜,希望理解。
1 楼 抛出异常的爱 2011-06-03  
hashmap按value序打印 key ?

相关推荐

Global site tag (gtag.js) - Google Analytics