一、jdk 5.0新特性foreach循环
- Java 5.0 提供了 foreach 循环迭代访问 Collection和数组。
- 遍历操作不需获取Collection或数组的长度,无需使用索引访问元素。
- 遍历集合的底层调用Iterator完成操作。
- foreach还可以用来遍历数组。
二、使用 foreach 循环遍历集合元素或数组元素
1)使用 foreach 循环遍历集合元素
代码示例
@Test
public void test1() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new Person("Jerry", 20));
coll.add(new String("Tom"));
coll.add(false);
//for(集合元素的类型 局部变量 : 集合变量)
//内部仍然调用了迭代器
for (Object obj : coll) {
System.out.println(obj);
}
}
运行结果
123
456
Person{name='Jerry', age=20}
Tom
false
2)使用 foreach 循环遍历数组元素
代码示例
@Test
public void test2() {
int[] arr = new int[]{1, 2, 3, 4, 5};
//for(数组元素的类型 局部变量 : 数组对象)
for (int i : arr) {
System.out.println(i);
}
}
运行结果
1
2
3
4
5
3)小练习
方式一:普通for赋值
@Test
public void test3() {
String[] arr = new String[]{"MM", "MM", "MM"};
for(int i = 0;i < arr.length;i++){
arr[i] = "GG";
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
运行结果
GG
GG
GG
方式二:增强for循环
@Test
public void test4() {
String[] arr = new String[]{"MM", "MM", "MM"};
for (String s : arr) {
s = "GG";
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
运行结果
MM
MM
MM