一、高级for循环
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组)
{
//........
}
二、特点
- 用于对存储对象的容器进行迭代
- 传统for和高级for有什么区别?
- 高级for有一个局限性,必须要有被遍历的目标(Collection或数组)
- 如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为可以定义角标通过角标操作元素。
- 如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写。
- 对集合进行遍历,只能获取集合元素,但是不能对集合进行操作
- 迭代器除了遍历,还可以进行remove集合中元素的动作
- 如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作
- 不能遍历Map
- 原则上map集合是无法使用增强for循环来迭代的,因为增强for循环只能针对实现了Iterable接口的集合进行迭代;
- Iterable是jdk5中新定义的接口,就一个方法iterator方法,
- 只有实现了Iterable接口的类,才能保证一定有iterator方法,
- java有这样的限定是因为增强for循环内部还是用迭代器实现的