在Java中如何使用增强型for循环

增强型for循环用于简化数组和集合的遍历,语法为for(元素类型 变量 : 数组或集合){},可直接访问每个元素。1. 遍历数组时无需索引,如int[] numbers = {1,2,3}; for(int num : numbers) System.out.println(num); 依次输出元素值。2. 遍历集合如List names = Arrays.asList("Alice", "Bob"); for(String name : names) 输出每个名字。3. 注意事项:不能获取索引,需索引时用普通for循环;遍历时不能修改集合结构,否则抛ConcurrentModificationException;不支持反向遍历;仅适用于实现Iterable接口的类。该循环适用于只读场景,提升代码可读性。

增强型for循环(也称为foreach循环)在Java中提供了一种简洁的方式来遍历数组或实现了Iterable接口的集合类,比如ListSet等。它隐藏了迭代过程中的索引或迭代器操作,使代码更清晰易读。

基本语法

增强型for循环的语法格式如下:

for (元素类型 变量名 : 数组或集合) {
// 操作变量 }

其中,变量依次接收数组或集合中的每个元素,直到遍历完成。

遍历数组

使用增强型for循环遍历数组非常直观。例如,遍历一个整型数组:

int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println(num);
}

这段代码会依次输出数组中的每个元素。

遍历集合

对于集合类,如ArrayList,用法类似:

List names = Arrays.asList("Alice", "Bob", "Charlie");
for (String name : names) {
System.out.println(name);
}

这会逐个打印列表中的字符串元素。

使用时的注意事项

虽然增强型for循环写起来简单,但有几

点需要注意:

  • 无法获取当前元素的索引。如果需要索引,应使用普通for循环或ListIterator
  • 不能在遍历过程中删除或添加元素。否则会抛出ConcurrentModificationException异常。如需修改集合,应使用Iteratorremove()方法
  • 仅适用于顺序访问。若需反向遍历,仍需使用下标或迭代器
  • 适用于所有实现了Iterable接口的对象,包括自定义容器类

基本上就这些。增强型for循环适合大多数只读遍历场景,让代码更干净,减少出错可能。不复杂但容易忽略细节。