专业的JAVA编程教程与资源

网站首页 > java教程 正文

十九、Java循环控制语句-foreach循环

temp10 2024-11-03 15:06:22 java教程 11 ℃ 0 评论

Java中的foreach循环(也称为增强的for循环)是一种简化数组和集合遍历的语法结构。使得迭代过程更加简洁和易读,避免了传统for循环中索引的管理。foreach循环特别适合用于遍历那些我们更关心元素本身而不是元素索引的集合。

foreach循环适用情况列举:

十九、Java循环控制语句-foreach循环

序号

适用范围

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表