Stream在Java 8中引入,它仅用于处理一组数据,而不是用于对元素进行排序。它不修改实际的集合,它们只根据管道方法提供结果。
Stream API支持多个操作,这些操作分为两部分:
- Intermediate Operation- 这些操作用于管道其他方法并转换为其他流。它们不产生结果,因为这些操作直到执行终端操作时才被调用。以下是示例:
- sorted(Comparator)
- peek(Consumer)
- distinct()
- Terminal operations - 这些操作用于生成结果。它们不能用于链接其他方法。以下是示例:
- forEach
- count
- toArray
序号 | 关键字 | Intermediate Operations | Terminal Operations |
---|---|---|---|
1 | 基本操作 | 这些操作用于管道其他方法并转换为其他流 | Java中的终端操作是应用于流的最后一步方法。 |
2 | 返回类型 | 它们只返回另一个流。 | 它们返回最终结果。 |
3 | 方法 | sorted(Comparator)
peek(Consumer) distinct() |
forEach
count toArray |
4. | 用例 | 这些操作应该用于将流转换为另一个流 | 它们可以用于生成结果。 |
Intermediate和Terminal操作的示例
public class Main {
public static void main(String args[]) throws InterruptedException, ExecutionException {
List laptopList = new ArrayList();
laptopList.add("DELL");
laptopList.add("ACER");
laptopList.add("HCL");
// Intermediate operation
laptopList.sort((p1, p2) -> p1.compareTo(p2));
// Terminal Operation
laptopList.forEach(a -> {
System.out.println(a);
});
}
}
登录后复制
以上就是Java 8中中间操作和终端操作的区别的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!