map遍历的效能

项目中使用了Findbug来进行代码的检查,有个针对map遍历的提示。我的代码如下:
String temp = null;
Iterator<String> ite = param.keySet().iterator();
   while(ite.hasNext()){
     temp = ite.next();
     sb.append(temp);
     sb.append(param.get(temp).toString());
}
说是效能上不咋地。建议用如下方法:
Entry<String, String> temp = null;
Iterator<Entry<String, String>> ite = param.entrySet().iterator();
    while(ite.hasNext()){
       temp = ite.next();
       sb.append(temp.getKey());
       sb.append(temp.getValue());
}
从代码上理解,第一种方式获取key之后,要从HASHMAP中通过HASH函数定位到value值。而第二种方式,没有这种定位的消耗了,性能也有一定的提升。

你可能感兴趣的:(map)