Java 8中的中间操作和终端操作之间的区别
在Java8中引入了Stream,它仅用于处理数据组而不用于存储元素。它不修改实际的集合,它们仅根据流水线方法提供结果。
Streamapi支持多种操作,并且操作分为两部分-
中间操作—这些操作用于管道化其他方法并转换为其他流。它们不会产生结果,因为这些操作在终端操作执行之前不会调用。以下是示例-
sorted(Comparator<T>)
peek(Consumer<T>)
distinct()
终端操作-这些操作用于产生结果。它们不能用于链接其他方法。以下是示例-
forEach
count
toArray
peek(Consumer<T>)
distinct()
count
toArray
中间和终端操作示例
public class Main { public static void main(String args[]) throws InterruptedException, ExecutionException { List<String> laptopList = new ArrayList(); laptopList.add("DELL"); laptopList.add("ACER"); laptopList.add("HCL"); //中间操作 laptopList.sort((p1, p2) -> p1.compareTo(p2)); //终端操作 laptopList.forEach(a -> { System.out.println(a); }); } }