黑马程序员技术交流社区

标题: 传统for和高级for有什么区别呢? [打印本页]

作者: 漠陌    时间: 2015-8-22 00:57
标题: 传统for和高级for有什么区别呢?


传统for和高级for有什么区别呢?
对集合进行遍历。
只能获取集合元素,但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中进行增删改查的动作。
高级for有一个局限性,必须要有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义角标。
    1.增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。
    2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
    3.而对于 LinkedList由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。


作者: 洋葱头头    时间: 2015-8-22 07:11
增强for 方便




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