虽然Iterator可以用来遍历集合中的元素,但写法上比较烦琐,为了简化书写,从JDK5.0开始,提供了foreach循环。foreach循环是一种更加简洁的for循环,也称增强for循环。foreach循环用于遍历数组或集合中的元素,其具体语法格式如下:
for(容器中元素类型临时变量: 容器变量) { 执行语句 }
从上面的格式可以看出,与for循环相比,foreach循环不需要获得容器的长度,也不需要根据索引访问容器中的元素,但它会自动遍历容器中的每个元素。接下来通过一个案例对foreach循环进行详细讲解,如例所示。
import java.util.ArrayList; public class Example { public static void main(String[] args) { ArrayList list = new ArrayList(); // 创建ArrayList 集合 list.add("Jack"); // 向ArrayList 集合中添加字符串元素 list.add("Rose"); list.add("Tom"); for (Object obj : list) { // 使用foreach 循环遍历ArrayList 对象 System.out.println(obj); // 取出并打印ArrayList 集合中的元素 } } }
运行结果:
Jack Rose Tom
通过例可以看出,foreach循环在遍历集合时语法非常简洁,没有循环条件,也没有迭代语句,所有这些工作都交给虚拟机去执行了。foreach循环的次数是由容器中元素的个数决定的,每次循环时,foreach中都通过变量将当前循环的元素记住,从而将集合中的元素分别打印出来。