java中迭代器与对循环的优劣势有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1。概念理解
的循环:是支持迭代的一种通用结构,是最有效,最灵活的循环结构
迭代器:是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
Foreach:通过阅读源码我们还发现一个Iterable接口。它包含了一个产生迭代器对象的iterator()方法,而且将迭代器对象被Foreach用来在序列中移动。对于任何实现Iterable接口的对象都可以使用。
2。效率实例
ArrayList中的效率对比:
List, integers =, Lists.newArrayList (); ,,,(int i=0; i<100000;我+ +){ ,,,,,integers.add(我); ,,,} ,,,long start1 =, System.currentTimeMillis (); ,,,(int count =0, count<10;计数+ +){ ,,,,,,(int 我=0;i< integers.size();我+ +){ ,,,,,,,int j=integers.get(我); ,,,,,} ,,,} ,,,System.out.println (String.format(“为循环100次时间:% s ms", System.currentTimeMillis () -start1)); ,,,long start2 =, System.currentTimeMillis (); ,,,(int count =0, count<10;计数+ +),{ ,,,,,for (Integer 小姐::,整数),{ ,,,,,,,int j =,我; ,,,,,} ,,,} ,,,System.out.println (String.format (“foreach循环100次时间:% s ms", System.currentTimeMillis () -start2)); ,,,long start3 =, System.currentTimeMillis (); ,,,(int count =0, count<10;计数+ +),{ ,,,,,Iterator , iterator =, integers.iterator (); ,,,,,,(iterator.hasNext ()) { ,,,,,,,int j=iterator.next (); ,,,,,} ,,,} ,,,System.out.println (String.format(“迭代器循环100次时间:% s ms", System.currentTimeMillis () -start3));
结果:
的循环100次时间:15 ms
foreach循环100次时间:25 ms
迭代器循环100次时间:20 ms
引用>知识点扩展:
增强的循环:foreach
在Java 5.0提供了一种新的迭代访问集合和数组的方法,就是foreach循环。使用foreach循环执行遍历操作不需获取收集或数组的长度,也不需要使用索引访问元素。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
java中迭代器与对循环的优劣势有哪些