java迭代器和for循环优劣势是什么
今天小编给大家分享一下java迭代器和for循环优劣势是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
龙岗网站建设公司成都创新互联公司,龙岗网站设计制作,有大型网站制作公司丰富经验。已为龙岗上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的龙岗做网站的公司定做!
1.概念理解
for循环:是支持迭代的一种通用结构,是最有效,最灵活的循环结构
迭代器:是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
Foreach:通过阅读源码我们还发现一个Iterable接口。它包含了一个产生Iterator对象的iterator()方法,而且将Iterator对象被foreach用来在序列中移动。对于任何实现Iterable接口的对象都可以使用。
2.效率实例
ArrayList中的效率对比:
Listintegers = Lists.newArrayList(); for(int i=0;i<100000;i++){ integers.add(i); } long start1 = System.currentTimeMillis(); for(int count =0 ;count<10;count++){ for(int i=0;i iterator = integers.iterator(); while(iterator.hasNext()){ int j=iterator.next(); } } System.out.println(String.format("迭代器循环100次时间:%s ms",System.currentTimeMillis()-start3));
结果:
for循环100次时间:15 ms foreach循环100次时间:25 ms 迭代器循环100次时间:20 ms
ArrayList下三者效率差不多,for循环最优,因为ArrayList通过数组来实现,数组通过索引来定位的时间复杂度是O(1),1次就能定位到,所以效率非常高。
总结:for循环便于访问顺序存储的记录,而foreach和迭代器便于访问链接存储。
以上就是“java迭代器和for循环优劣势是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。
新闻标题:java迭代器和for循环优劣势是什么
网站链接:http://scyanting.com/article/iihdjp.html