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]