Skip to content

数组遍历

方式特点选择场景
for 循环可获取索引需要使用索引时
for-each简洁只取值不需索引
Stream函数式、链式过滤、映射等操作

普通 for 循环

java
public class ArrayTraversalDemo {

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};

        for (int i = 0; i < arr.length; i++) {
            System.out.println("索引 " + i + ": " + arr[i]);
        }
    }
}

for-each 循环

不用索引时更简洁:

java
public class ForEachDemo {

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};

        for (int num : arr) {
            System.out.println("值: " + num);
        }
    }
}

Stream 遍历

Java 8+ 可用 Stream API,支持链式操作:

java
import java.util.Arrays;

public class StreamTraversalDemo {

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};

        // forEach
        Arrays.stream(arr).forEach(System.out::println);

        // 带过滤
        System.out.println("偶数:");
        Arrays.stream(arr)
            .filter(n -> n % 2 == 0)
            .forEach(System.out::println);

        // 求和
        int sum = Arrays.stream(arr).sum();
        System.out.println("总和: " + sum);
    }
}

倒序遍历

java
public class ReverseTraversalDemo {

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};

        for (int i = arr.length - 1; i >= 0; i--) {
            System.out.println(arr[i]);
        }
    }
}

多维数组遍历

java
public class MultiDimensionalTraversal {

    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6}
        };

        // 双层 for 循环(带索引)
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }

        // for-each 简化
        for (int[] row : matrix) {
            for (int num : row) {
                System.out.print(num + " ");
            }
            System.out.println();
        }
    }
}

注意事项

  • 需要索引:用普通 for 循环
  • 只取值:用 for-each
  • 链式操作:用 Stream API

基于 VitePress 构建