黑马程序员技术交流社区
标题:
普通for循环、foreach、Iterator有啥区别,性能上差别大吗?
[打印本页]
作者:
jadeite
时间:
2013-8-27 08:21
标题:
普通for循环、foreach、Iterator有啥区别,性能上差别大吗?
本帖最后由 杨增坤 于 2013-8-27 22:11 编辑
普通for循环、foreach、Iterator有啥区别,性能上差别大吗?
作者:
.....淡定
时间:
2013-8-27 08:44
for循环一般用来处理比较简单的有序的,可预知大小的集合或数组
foreach可用于遍历任何集合或数组,而且操作简单易懂,他唯一的不好就是需要了解集合内部类型
iterator是最强大的,他可以随时修改或者删除集合内部的元素,并且是在不需要知道元素和集合的类 型的情况下进行的(原因可参考第三点:多态差别),当你需要对不同的容器实现同样的遍历方式时,迭代器是最好的选择!
作者:
范龙波
时间:
2013-8-27 09:57
以下是我对三者的理解:
for 循环变量初始化只在首次进入时执行一次,每次执行循环之前,必须进行结束条件判断
foreach 如同名字一样遍历每个,要分清它可以遍历的对象:
作者:
范龙波
时间:
2013-8-27 10:08
以下是我对三者的理解:
for
注意:循环变量初始化只在首次进入时执行一次,每次执行循环之前,必须进行结束条件判断
foreach
如同名字一样遍历每个,这里要注意它可以遍历哪些对象:1.数组 ,2实现Iteratori的集合
iterator
对于这个迭代器,主要用在set和map集合中, 在set集合中通过 collection.iterator()返回这个迭代器 在通过高级for遍历所有元素拿到目标元素.
对面map用以下三种方式拿到set集合 ,重复上面步骤做遍历操作
Set entrySet = map.entrySet();
Set keySet = map.keySet();
Collection values = map.values();
作者:
杨增坤
时间:
2013-8-27 18:01
楼主,如果问题解决了,请把问题的"未解决"更改为"已解决"!
谢谢合作!
更改方法:
http://bbs.itheima.com/thread-71308-1-1.html
作者:
yangqing
时间:
2013-8-27 20:45
普通for循环能控制循环的次数等 使循环具有可控性。
foreach 比较简便,当不需要对数组集合进行操作时建议使用。
迭代器的话只能操作单列集合,主要用在Set集合中。map集合是键值对存储没有迭代器的 ,必须将其转换成Set集合。方法如楼上所述。 然后进行操作。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2