关于hashmap遍历方式问题

对于遍历hashmap的方法总结下来分别為以下:
a.得到Set对象,再使用增强for循环遍历

猜测:a的for循环底层调用的是迭代器因此a和b的性能应该相似
c中虽然用的不是迭代器,但是原理与迭代器一样所以c应该性能与ab相似
使用迭代器最重要的代码就是最后一个if判断。如果一时间想不通如何实现的可以查一下他的实现原理

接下来附上forEach的源码
发现他遍历数据的顺序与原理跟迭代器是一样的。因此有了上面的猜测

发现三者性能基本相同,至于上面结果中for循环遍历时间长一点的原因是他被放在第一个经过测试放在第一个遍历的时间都会长一点。

我要回帖

更多关于 hashmap遍历方式 的文章

 

随机推荐