天天看點

Java 的 forEach 方法

方法原型

forEach() 方法用于周遊動态數組中每一個元素并執行特定操作。

這個是 java8 的新特性的應用。

forEach() 方法原型如下:

default void forEach(Consumer<? super T> action) {
        Objects.requireNonNull(action);
        for (T t : this) {
            action.accept(t);
        }
    }
           

其中,action 表示對每個元素執行的操作。

示例 1

forEach 方法和 lambda 表達式結合起來。

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // 建立一個數組
        ArrayList<Integer> numbers = new ArrayList<>();

        // 往數組中添加元素
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        System.out.println("ArrayList: " + numbers);

        // 所有元素乘以 10
        System.out.print("更新 ArrayList: ");
       
        // 将 lambda 表達式傳遞給 forEach
        numbers.forEach((e) -> {
            e = e * 10;
            System.out.print(e + " ");
        });
    }
}
           

輸出

ArrayList: [1, 2, 3, 4]
更新 ArrayList: 10 20 30 40 
           

示例2

當 forEach 方法遇到 System.out.println。

示例代碼如下:

//建立list
List<String> list = Arrays.asList("123","456");
//輸出list裡面的每個内容
list.forEach(System.out::println);
           

運作結果:

123
456
           

其中,list.forEach(System.out::println); 方法相當于以下代碼的功能:

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

參考資源:

1.https://www.runoob.com/java/java-arraylist-foreach.html

2.https://blog.csdn.net/africanviolet/article/details/103613049

每天學習一點點,每天進步一點點。