栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

intermediate
terminal
操作。

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

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

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

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

终端操作为:

forEachforEachOrderedtoArrayreducecollectminmaxcountanyMatchallMatchnoneMatchfindFirst    findAny

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号