foreach循环适用情形列举:

序号

适用范围

jsp中foreach循环怎么显示出序号十九Java轮回掌握语句foreach轮回 Node.js

1

数组

2

凑集

3

实现了Iterable接口的凑集类。

基本语法

for (ElementType element : arrayOrCollection) {// 对element进行操作}

个中ElementType是数组或凑集中元素的类型,element是每次迭代时数组或凑集中确当前元素,arrayOrCollection是你要遍历的数组或凑集。

数组遍历

例如:

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

结果:

1

2

3

4

5

凑集遍历

Foreach遍历凑集框架中的类(如List, Set等):

例如:

import java.util.ArrayList; import java.util.List; List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); for (String name : names) { System.out.println(name); }

结果:

Alice

Bob

Charlie

把稳事变

foreach缺陷

建议

只能遍历数组或实现了Iterable接口的凑集类。

对付普通的类,利用佛如循环或实现Iterable接口。

在遍历过程中不能修正凑集的大小(如添加或删除元素)。

须要修正凑集,应利用迭代器(Iterator)或其他的凑集操作办法。

循环内部无法直接获取到元素的索引。

须要索引,该当利用传统的for循环或者结合其他方法(如利用List的indexOf方法,但这常日效率不高)。

结合Lambda表达式

在Java 8及往后的版本中,foreach循环还可以结合Lambda表达式和Stream API来实行更繁芜的凑集操作。

例如,利用Stream API过滤凑集中的元素:

List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); List<String> filteredNames = names.stream() .filter(name -> name.startsWith("A")) .collect(Collectors.toList()); for (String name : filteredNames) { System.out.println(name); }

结果:

Alice