在Java中,可以使用reduce
方法來對Stream中的元素進行歸約操作。reduce
方法接受一個初始值和一個BinaryOperator函數作為參數,然后對Stream中的元素依次應用這個函數進行計算,最終返回一個計算結果。
下面是一個簡單的示例,演示如何使用reduce
方法對一個整數列表進行求和操作:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
System.out.println(sum);
在上面的示例中,我們首先創建了一個整數列表numbers
,然后通過stream()
方法將其轉換為一個Stream。接著調用reduce
方法,傳入初始值0
和一個Lambda表達式(a, b) -> a + b
作為參數,Lambda表達式表示對兩個參數進行求和操作。最終得到整數列表的總和并打印輸出。
除了求和操作,reduce
方法還可以用于其他類型的歸約操作,比如對列表中的元素進行最大值、最小值、字符串拼接等操作。只需要根據具體需求更換Lambda表達式中的操作即可。