当前位置: 首页 > 面试题库 >

中间操作和终端操作有什么区别?

章宏峻
2023-03-14
问题内容

有人可以告诉我中间操作和终端操作有Stream什么区别吗?

Stream操作组合到管道中以处理流。所有操作都是中间操作或终端..means?。


问题答案:

Stream支持几种操作,这些操作分为intermediateterminal操作。

此操作之间的区别在于,中间操作是惰性的,而终端操作不是。当您在流上调用中间操作时,该操作不会立即执行。仅在对该流调用终端操作时才执行该命令。在某种程度上,一旦调用了终端操作,便会存储并调用一次中间操作。您可以链接多个中间操作,在调用终端操作之前,它们都不会做任何事情。届时,您先前调用的所有中间操作将与终端操作一起被调用。

所有中间操作都返回Stream(可以链接),而终端操作则不返回。中级业务为:

filter(Predicate<T>)
map(Function<T>)
flatmap(Function<T>)
sorted(Comparator<T>)
peek(Consumer<T>)
distinct()
limit(long n)
skip(long n)

终端操作会产生非流(无法链接)结果,例如原始值,html" target="_blank">集合或根本没有值。

终端操作为:

forEach
forEachOrdered
toArray
reduce
collect
min
max
count
anyMatch
allMatch
noneMatch
findFirst    
findAny

最后五个是短路端子操作。



 类似资料:
  • 本文向大家介绍Java 8中的中间操作和终端操作之间的区别,包括了Java 8中的中间操作和终端操作之间的区别的使用技巧和注意事项,需要的朋友参考一下 在Java 8中引入了Stream,它仅用于处理数据组而不用于存储元素。它不修改实际的集合,它们仅根据流水线方法提供结果。 Stream api支持多种操作,并且操作分为两部分- 中间操作—这些操作用于管道化其他方法并转换为其他流。它们不会产生结果

  • 本文向大家介绍内核和操作系统之间有什么区别?,包括了内核和操作系统之间有什么区别?的使用技巧和注意事项,需要的朋友参考一下 操作系统 操作系统(OS)是管理计算机硬件资源并充当用户与计算机硬件之间的接口的软件集合。它为计算机程序提供通用服务。操作系统是计算机系统中系统软件的重要组成部分。 核心 内核是操作系统的核心部分,并负责该操作系统的所有主要活动。内核由各种模块组成,它直接与底层硬件交互。它还

  • 注意:我不一定要寻找下面描述的具体示例问题的解决方案。我真的很感兴趣,为什么这在java 8中是不可能的。 Java流是懒惰的。最后,他们有一个单一的终端操作<我的解释是,这个终端操作将通过流提取所有值。没有任何中间操作可以做到这一点。为什么没有中间操作通过流拉入任意数量的元素?类似这样: 当下游操作尝试推进流一次时,中间操作可能尝试多次(或根本不推进)上游。 我会看到几个用例: (这些只是示例。

  • 尝试在一个简单的函数定义中使用.join代替+运算符。请解释的行为。

  • 我对这两个运算符都有基本的了解,但想知道两者之间可能导致“难以跟踪”错误的细微差异是什么。