增强for循环 (for each循环)详解

“我们仍需共生命的慷慨与繁华相爱,即使岁月以刻薄和荒芜相欺”

文章目录

  • 前言
    • 文章有误敬请斧正 不胜感恩!
  • 增强for循环
      • 1. 遍历数组
      • 2. 遍历字符串数组
      • 3. 遍历集合(如 List)
      • 4. 遍历 Set 集合
      • 5. 遍历 Map 的键值对
      • 6. 遍历二维数组
      • 7. 遍历对象数组
  • 总结


前言

写在开始:

增强for循环 (也称for each循环) 是迭代器遍历方法的一个“简化版”,是JDK1.5以后出来的一个高级for循环,专门用来遍历数组集合

其内部原理是一个Iteration迭代器,在遍历数组/集合的过程中,不能对集合中的元素进行增删操作。


文章有误敬请斧正 不胜感恩!

以下是本篇文章正文内容,


增强for循环

for(ElementType element: arrayName) 
{ //集合或数组的数据类型 变量名:集合名/数组名
	System.out.println(变量名)};

省去了变量的创建和范围的维护,遍历起来更加快捷.

for(数据类型 变量名:要遍历的数组){
	输出语句(变量名);
}

ElementType :是int,String也可以是你的自定义的元素的类型例如Person等等

element是你所要进行操作的数据的名称.就相当于你在普通遍历时 所设的 i 一样

for(int i=0;i<nums.length;i++){

System.out.println(i);
//普通遍历
}

1. 遍历数组

增强 for 循环最常见的用途之一是遍历数组。它简化了传统 for 循环的语法,不需要维护索引变量。

示例:遍历整型数组

int[] numbers = {10, 20, 30, 40, 50};
for (int number : numbers) {
    System.out.println(number);
}

输出:

10
20
30
40
50

2. 遍历字符串数组

增强 for 循环也可以用于遍历包含不同数据类型的数组,例如字符串数组。

示例:遍历字符串数组

String[] fruits = {"Apple", "Banana", "Cherry"};
for (String fruit : fruits) {
    System.out.println(fruit);
}

输出:

Apple
Banana
Cherry

3. 遍历集合(如 List)

增强 for 循环可以轻松地遍历 Java 集合框架中的 List、Set 等集合对象。

示例:遍历 List 集合

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
for (String name : names) {
    System.out.println(name);
}

输出:

Alice
Bob
Charlie

4. 遍历 Set 集合

增强 for 循环同样适用于 Set 集合,遍历顺序并不固定,因为 Set 本身是无序的。

示例:遍历 Set 集合

Set<Integer> uniqueNumbers = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
for (int number : uniqueNumbers) {
    System.out.println(number);
}

输出(顺序可能不固定):

1
2
3
4
5

5. 遍历 Map 的键值对

增强 for 循环无法直接用于 Map,但可以通过获取 Map 的 entrySet() 迭代键值对。

示例:遍历 Map 的键值对

Map<String, Integer> ageMap = new HashMap<>();
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
ageMap.put("Charlie", 35);

for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

输出:

Alice is 25 years old.
Bob is 30 years old.
Charlie is 35 years old.

6. 遍历二维数组

增强 for 循环可以嵌套使用,方便遍历多维数组。

示例:遍历二维数组

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

for (int[] row : matrix) {
    for (int element : row) {
        System.out.print(element + " ");
    }
    System.out.println();
}




***//二维数组本质上还是一个数组,只不过它的每个元素都是一个一维的数组.
//因此,在对二维数组进行遍历时,要遍历两次.

输出:

1 2 3 
4 5 6 
7 8 9 

7. 遍历对象数组

增强 for 循环也可以用于遍历对象数组,例如自定义对象数组。

示例:遍历自定义对象数组

class Person {
    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Person[] people = {
    new Person("Alice", 25),
    new Person("Bob", 30),
    new Person("Charlie", 35)
};

for (Person person : people) {
    System.out.println(person.name + " is " + person.age + " years old.");
}

输出:

Alice is 25 years old.
Bob is 30 years old.
Charlie is 35 years old.

总结

​ 增强 for 循环是一种简洁的语法糖,用于遍历数组和集合时特别方便。但需要注意,它不适合修改集合元素或在遍历过程中删除元素。如需更复杂的操作(例如需要索引、删除元素等),可以选择传统的 for 循环或者使用迭代器。


你可能感兴趣的:(Java,java)