什么是Stream

导读:本篇文章讲解 什么是Stream,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、什么是Stream
关于Java8 Stream的描述正确的是 (A)

A. Stream跟迭代器类似,再次遍历需要重新生成

B. Stream执行方式跟之前代码处理方式类似,中间操作立即执行

C. 对Stream修改体现到数据源上

D. Stream数据源只能是数组、容器或I/O

解析:

Stream的特点:

  1. 无存储,Stream不是一种数据结构,也不保存数据,数据源可以是数组、容器、I/O或Channel等;

  2. 为函数式编程而生,对Stream的任何修改都不会修改数据源;

  3. 惰性执行,Stream上的中间操作并不会立即执行,只有等到用户真正需要结果时才会执行;

  4. 一次消费,Stream只能被消费一次,一旦遍历过就会失效,就像容器的迭代器那样,想要再次遍历必须重新生成。

二、Stream操作分类
Stream操作分类
中间操作(Intermediate operations) 无状态 unordered()、filter()、map()、mapToInt()、mapToLong()
mapToDouble()、flatMap()、flatMapToInt()、flatMapToLong()
flatMapToDouble()、peek()
有状态 distinct()、sorted()、limit()、skip()
终端操作(Terminal operations) 非短路操作 forEach()、forEachOrdered()、toArray()、reduce()、collect
max()、min()、count()
短路操作 anyMatch()、allMatch()、noneMatch()、findFirst()、findAny()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/90984.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!