hashmap如何遍历,怎么提高hashmap的遍历?

hashmap如何遍历,怎么提高hashmap的遍历?

1、for each map.entrySet()

2、显示调用map.entrySet()的集合迭代器

3、for each map.keySet(),再调用get获取

4、for each map.entrySet(),用临时变量保存map.entrySet()

写了代码测试一下四种方法:10000000 一千万的map遍历耗时:

167ms

170ms

258ms

172ms

Map map = new HashMap(16);

for (int index = 0; index < 10000000; index ++ ){

map.put(index +"",index +"");

}

Long start = System.currentTimeMillis();

for (Map.Entry entry : map.entrySet()) {

entry.getKey();

entry.getValue();

}

System.out.println(System.currentTimeMillis() - start);

start = System.currentTimeMillis();

Iterator<Map.Entry> iterator = map.entrySet().iterator();

while (iterator.hasNext()) {

Map.Entry entry = iterator.next();

entry.getKey();

entry.getValue();

}

System.out.println(System.currentTimeMillis() - start);

start = System.currentTimeMillis();

for (String key : map.keySet()) {

map.get(key);

}

System.out.println(System.currentTimeMillis() - start);

start = System.currentTimeMillis();

Set<Map.Entry> entrySet = map.entrySet();

for (Map.Entry entry : entrySet) {

entry.getKey();

entry.getValue();

}

System.out.println(System.currentTimeMillis() - start);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论