• 不是数据结构
  • 它没有内部存储,它只是用操作管道从 source(数据结构、数组、generator function、IO channel)抓取数据。
  • 它也绝不修改自己所封装的底层数据结构的数据。例如 Stream 的 filter 操作会产生一个不包含被过滤元素的新 Stream,而不是从 source 删除那些元素。
  • 所有 Stream 的操作必须以 lambda 表达式为参数
  • 不支持索引访问
  • 你可以请求第一个元素,但无法请求第二个,第三个,或最后一个。不过请参阅下一项。
  • 很容易生成数组或者 List
  • 惰性化
  • 很多 Stream 操作是向后延迟的,一直到它弄清楚了最后需要多少数据才会开始。
  • Intermediate 操作永远是惰性化的。
  • 并行能力
  • 当一个 Stream 是并行化的,就不需要再写多线程代码,所有对它的操作会自动并行进行的。
  • 可以是无限的

    • 集合有固定大小,Stream 则不必。limit(n) 和 findFirst() 这类的 short-circuiting 操作可以对无限的 Stream 进行运算并很快完成。

最新文章

  1. SQL Server-聚焦NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL性能分析(十八)
  2. 剑指Offer面试题:5.重建二叉树
  3. Delphi文件操作函数
  4. java selenium (十) 操作浏览器
  5. Open source packages on self-driving car
  6. (续篇3):飞测独家のJmeter秘籍,限量发放
  7. MYSQL注入天书之服务器(两层)架构
  8. 【linux程序设计4th】第三章1
  9. Intent.Action
  10. Jquery 解决 H5 placeholder元素问题
  11. win7 64位 Xsheel
  12. 在 WindowMobile 上的模拟LED 显示屏插件(转)
  13. python 的日志logging模块学习
  14. Winform & Devexpress Chart使用入门
  15. C#图解教程 第十章 结构
  16. 理解 Linux 中 `ls` 的输出
  17. AOP代理对象生成
  18. Python全栈之路----常用模块----subprocess模块
  19. jq ajax数据交互
  20. android 使用Canvas画箭头

热门文章

  1. Java面向对象——类的成员
  2. Mysql、Oracle、SQLServer等数据库参考文档免费分享下载
  3. react-custom-scrollbars的使用
  4. vue学习指南:第六篇(详细) - Vue的组件 component
  5. HeadFirst设计模式---装饰者
  6. 对于不返回任何键列信息的 SelectCommand,不支持 DeleteCommand 的动态 SQL 生成
  7. Navicat Premium 详解
  8. Ubuntu下使用linuxdeployqt打包Qt程序
  9. python 一些程序规范(跨目录调用文件)
  10. eclipse配置JDK和设置编译版本的几种方法