浏览 5556 次
锁定老帖子 主题:遍历map-Java基础
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (34)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-02
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); }//效率低 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-06-03
最后修改:2011-06-03
hashmap按value序打印 key ?
|
|
返回顶楼 | |
发表时间:2011-06-03
抛出异常的爱 写道 hashmap按value序打印 key ?
异常兄:您的话不完整。 可否讲全,可能水平有些菜,希望理解。 |
|
返回顶楼 | |
发表时间:2011-06-03
dotjar 写道 抛出异常的爱 写道 hashmap按value序打印 key ?
异常兄:您的话不完整。 可否讲全,可能水平有些菜,希望理解。 hashmap {aa=12,bb=3,cc=9} bb cc aa |
|
返回顶楼 | |
发表时间:2011-06-03
用hashmap 测了下,是第二种的效率高
|
|
返回顶楼 | |
发表时间:2011-06-03
treeMap ,是第一种效率高
|
|
返回顶楼 | |