Java 8流终端操作

Java中的流有一些终端操作。它们如下-

collect -collect方法返回中间操作的结果

List id = Arrays.asList(“Classes","Methods","Members");
List output = id.stream().filter(s -> s.startsWith("M")).collect(Collectors.toList());

reduce -reduce方法是在计算后将流的元素还原为具有特定值的单个元素。BinaryOperator是reduce方法的参数。

List list1 = Arrays.asList(11,33,44,21);
int even = list1.stream().filter(x -> x % == 0).reduce(0,(ans,i) -> ans+i);

forEach-此方法迭代流中的每个元素

List list1= Arrays.asList(1,3,5,7);
List finalList = list1.stream().map(a -> a * a * a).forEach(b -> System.out.println(b));

下面的程序说明了collect方法的用法。

示例

import java.util.*;
import java.util.stream.*;
public class Example {
   public static void main(String args[]) {
      List<Integer> list1 = Arrays.asList(4,5,6,7); //creating an integer list
      //收集方法
      List<Integer> answer = list1.stream().map(x -> x * x * x).collect(Collectors.toList());
      System.out.println(answer);
   }
}

输出结果

[64, 125, 216, 343]