for-each循环简化遍历操作,适用于集合和数组的只读访问。其语法为“for (类型 变量 : 集合或数组)”,可直接获取元素值而无需索引或迭代器。遍历List、Set时直接使用,Map需通过keySet()、values()或entrySet()实现。优点是代码简洁安全,缺点是无法在遍历时删除元素、获取索引或反向遍历。若需修改集合,应使用Iterator配合remove()方法。该循环适合大多数只读场景,提升代码可读性与开发效率。

在Java中,for-each循环(也称为增强for循环)是一种简洁、安全的遍历集合或数组的方式。它简化了传统for循环的语法,避免手动管理索引或迭代器,使代码更易读、不易出错。
for-each循环的语法格式如下:
for (元素类型 变量名 : 集合或数组) {其中,变量名表示当前遍历到的元素,冒号后的部分是被遍历的集合或数组。
以ArrayList为例,展示如何使用for-each循环遍历字符串列表:
立即学习“Java免费学习笔记(深入)”;
List<String> names = Arrays.asList("张三", "李四", "王五");
for (String name : names) {
System.out.println(name);
}
这段代码会依次输出每个名字,无需调用get(index)或使用Iterator。
Set集合同样支持for-each循环,因为其也实现了Iterable接口:
Set<Integer> numbers = new HashSet<>();
numbers.add(1); numbers.add(2); numbers.add(3);
for (Integer num : numbers) {
System.out.println(num);
}
对于Map,不能直接遍历键值对,但可以通过keySet()、values()或entrySet()实现:
Map<String, Integer> scores = new HashMap<>();
scores.put("语文", 85);
scores.put("数学", 90);
// 遍历键
for (String subject : scores.keySet()) {
System.out.println(subject);
}
// 遍历值
for (Integer score : scores.values()) {
System.out.println(score);
}
// 遍历键值对
for (Map.Entry<String, Integer> entry : scores.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
for-each循环虽然方便,但也有使用上的限制:
如果需要删除元素,应显式使用Iterator:
Iterator<String> it = list.iterator();
while (it.hasNext()) {
String item = it.next();
if ("待删除项".equals(item)) {
it.remove();
}
}
基本上就这些。for-each循环适合大多数只读遍历场景,让代码更清晰,减少出错可能。掌握它的用法和限制,能让你在处理集合时更加高效。
以上就是在Java中如何使用for-each循环遍历集合_增强for循环集合遍历技巧说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号