HashMap的几种循环方式性能比较

实验条件:
分别用keySet,values, entrySet, Iterator 循环含有100000次的Map对象,将value存到一个变量里,比较用时大小
为保证Map中的key并不是完全规律的,所以key的取值做以下处理
HashMap的几种循环方式性能比较
1、利用keySet进行遍历
HashMap的几种循环方式性能比较2、利用values进行遍历
HashMap的几种循环方式性能比较

3、利用entrySet进行遍历
HashMap的几种循环方式性能比较
4、利用Iterator进行遍历
HashMap的几种循环方式性能比较
结果:
HashMap的几种循环方式性能比较

结论:
由结果可以看出,100000次循环中,只赋值value时,第二种和第四种循环Map效率更高,虽然用迭代器看上去写的代码复杂些。而keySet是效率最慢的。

通过多做了几组实验,发现用values,entrySet, Iterator相对来说效率都比keySet高,所以日后工作中,循环大量的Map建议大家尽量少用keySet。当然,这也是受限于实际循环情况,循环数量少时可能都差不多或者另外一个方法更高效。这就需要大家多多实践了。
HashMap的几种循环方式性能比较