Java入门第114课——使用增强型for循环遍历集合

这篇博客介绍了如何使用Java的增强型for循环(foreach)遍历HashSet集合,将其中的字符串元素转为大写。通过创建HashSet,添加元素,然后用foreach循环遍历并调用toUpperCase方法,确保所有元素都变为大写。

问题

使用foreach循环遍历集合中的元素,详细要求如下:

1)使用HashSet构建集合c,将字符串"java"、"cpp"、"php"、"c#"、"objective-c"放入集合c中。

2)使用foreach循环遍历集合中的每一个元素,并将每一个字符串元素转化为大写形式。

方案

1)首先,使用HashSet构建集合c;然后,使用Collection接口提供add方法将字符串"java"、"cpp"、"php"、"c#"、"objective-c"放入集合c中,代码如下所示:

Collection<String> c = new ArrayList<String>();
c.add("java");
c.add("cpp");
c.add("php");
c.add("c#");
c.add("objective-c");

2)然后,使用foreach循环遍历集合中的每一个元素,并调用String类的toUpperCase方法将遍历到的字符串元素转化为大写形式,代码如下所示:

for (String str : c) {
    System.out.println(str.toUpperCase() + " ");
}

以上代码可以理解为每次从集合c中取出一个String对象,然后赋值给循环变量str。事实上,Java编译器在编译前会将其转换为迭代器的形式(因此不能在循环体中对集合进行删除操作)。

步骤

### 使用增强型 for 循环遍历 List 集合 增强型 for 循环(也称为 for-each 循环)是一种简化集合或数组遍历的语法结构,特别适用于只需要访问集合中元素而不需要索引的场景。通过增强型 for 循环,代码更加简洁且易于维护。 #### 基本语法 增强型 for 循环的语法格式如下: ```java for (元素类型 变量名 : 集合或数组) { // 执行操作 } ``` #### 示例代码 以下代码演示了如何使用增强型 for 循环遍历一个 `List` 集合,并将每个字符串元素转换为大写形式输出: ```java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); for (String str : list) { System.out.println(str.toUpperCase() + " "); } } } ``` 在上述代码中,`str` 是集合中当前遍历到的元素,通过 `toUpperCase()` 方法将其转换为大写形式并输出[^1]。 #### 注意事项 增强型 for 循环适用于只读操作,不能在遍历过程中修改集合结构(如添加或删除元素),否则会引发 `ConcurrentModificationException` 异常。如果需要在遍历过程中修改集合,建议使用 `Iterator` 或 `ListIterator` 实现。 #### 与其他遍历方式的比较 增强型 for 循环相比普通 for 循环和 `Iterator`,其优势在于语法简洁且不需要手动管理索引。然而,由于其无法直接访问索引或在遍历过程中修改集合结构,因此在某些场景下不如其他遍历方式灵活。 ### 相关问题 1. 如何在遍历 List 集合时安全地删除元素? 2. Java 中如何使用 Stream API 对 List 集合进行遍历和操作? 3. 增强型 for 循环和 Iterator 遍历 List 集合的区别是什么? 4. List 集合的 get() 方法在遍历时有什么特点?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猴子学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值