日常开发中会经常用到map来存取值,但是对于HashMap中的四种取值方式效率比对如下:
1、我先在想map中存放了20000个键值对
class="java" name="code"> Map<String,String> map = new HashMap<>();
int total=2000000;
for(int i=0;i< total;i++){
map.put(i+"",(i+1)+"");
}
2、四种取值方式比较
1、
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key + map.get(key));
}
2、
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key=" + entry.getKey() + "value=" + entry.getValue());
}
3、
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key=" + entry.getKey() + "value=" + entry.getValue());
}
4、
for (String v : map.values()) {
System.out.println(v);
}
比对结果:
20000个键值:1、200 2、240 3、268 4、172
200000个键值:1、786 2、568 3、1304 41137
通过测试在map中存放20000个键值和200000个键值,自己多次运行每种取值方法,每次运行的花费的时间都不一样,所以在实际运用中根据具体情况和值的多少来处理把!