Java 中有多种遍历集合(Collection)元素的方式,其中最常见的是使用 for 循环和 forEach 遍历方法。本文将介绍这两种遍历方式,以及它们的区别和适用场景。

for 循环遍历

for 循环支持数组和集合对象的遍历,通常的语法形式如下:

for (int i = 0; i < list.size(); i++) {
     System.out.println(list.get(i));
 }

Java

Copy

这里的 list 可以是任何实现了 java.util.Collection 接口的对象,例如 List、Set、Queue 等。该循环遍历列表中的所有元素,并输出到控制台中。

forEach 方法遍历

Java 8 引入了 forEach 方法来遍历集合元素,使用 Lambda 表达式作为参数传递给该方法,可以使代码更加简洁易懂。以下是使用 forEach 遍历 List 的示例代码:

List<String> list = new ArrayList<>();
 list.add("apple");
 list.add("banana");
 list.add("orange");
 list.forEach(name -> System.out.println(name));

Java

Copy

上述代码中,我们首先创建了一个 List 对象并添加了三个元素,然后使用 forEach 方法和 Lambda 表达式遍历列表,并将每个元素输出到控制台中。

如果我们想要在遍历时对列表中的元素执行一些操作,可以将 Lambda 表达式传递给 forEach 方法,如下所示:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
 numbers.forEach(number -> {
     if (number % 2 == 0) {
         System.out.println(number + " is even.");
     } else {
         System.out.println(number + " is odd.");
     }
 });

Java

Copy

区别和适用场景

for 循环遍历可以在任何版本的 Java 中使用,但是它需要处理很多底层细节,如遍历索引、数组下标等。但是,如果需要对每个元素执行一些操作,则需要编写更多的代码。

forEach 方法遍历是 Java 8 引入的新功能,可用于遍历任何实现了 java.util.Collection 接口的对象,并且语法简洁易懂,能够提高代码的可读性和可维护性。

总之,for 循环遍历和 forEach 方法遍历各有优劣,具体应该根据实际情况和代码需求来选择。通常来讲,如果只需要简单地遍历集合元素,使用 forEach 方法比较方便;如果需要对每个元素执行复杂的操作,可以选择使用传统的 for 循环。

以上就是 Java 中常用的两种遍历方式的介绍。希望本文能够帮助你更好地理解它们的区别和使用方法。