黑马程序员技术交流社区

标题: 高级for循环 [打印本页]

作者: 鲁中需    时间: 2012-10-24 20:31
标题: 高级for循环
本帖最后由 鲁中需 于 2012-10-25 21:58 编辑

for循环与高级for循环(foreach循环)的区别是什么?能用高级for循环来修改数据吗?在取集合中的元素是可以用迭代器迭代也可用高级for循环取元素,这两种方法又有何区别?

作者: 毛标    时间: 2012-10-24 20:45
增强for只能遍历不能查询
传统for循环可以查询指定位置上的元素        foreach只能间接的遍历map
迭代器除了遍历还可以进行remove操作,如果是listiterator还可以在遍历的过程中进行增删操作
作者: 廖智    时间: 2012-10-24 20:55
增强for循环只能用于遍历数组或者Collection集合。
只能用于遍历获取元素,不能进行更多的操作。
作者: 刘丽娜    时间: 2012-10-24 21:16
增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
3.而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用 增强for循环,也就是iterator。
具体内容可查看此文章:http://blog.csdn.net/yinzhuo1/article/details/7302351
里面有例子 讲的很详细  谢谢
作者: 给生活加点料    时间: 2012-10-24 21:36
增强for只能遍历不能查询     不能有其他操作了。
传统for循环可以查询指定位置上的元素
迭代器迭代也可用高级for循环取元素区别:
增强for  只能遍历。
迭代器除了遍历之外还可以remove  
如果是List集合中的ListIterator  还可以进行增删等更多操作。
作者: 鲁中需    时间: 2012-10-24 22:22
刘丽娜 发表于 2012-10-24 21:16
增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能 ...

嗯,受教了,谢谢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2