Java的Stream流式操作
前言 最近在实习,在公司看到前辈的一些代码,发现有很多值得我学习的地方,其中有一部分就是对集合使用Stream流式操作,觉得很优美且方便。所以学习一些Stream流,在这里记录一下。 Stream是什么 Stream 是Java 8中出现的新特性,极大增强了集合对象的功能,专注于对集合对象进行方便、高效的聚合操作。另外可以配合 Lambda 表达式,让代码更加容易理解。另外Stream提供串行和并行两种操作方式,并行操作可以很方便的写出高性能的并发程序。 Stream像是一个高级版本的Iterator,使用Iterator只能显式地遍历一个个元素对其执行某些操作;使用Stream,我们只需要指定对集合包含的元素执行什么操作,例如“只获取性别为男的用户”、“获取每个用户姓名的姓氏”等,Stream会帮我们完成隐式的遍历操作,并转换数据。 与Iterator不同的是,Iterator只能串行操作,每次操作完一个元素再去下一个元素。Stream支持串行、并行操作,Stream的并行操作依赖Java 7的Fork/Join框架(JSR166y)来拆分任务和加速处理过程。 Stream就像是一条流水线,单向,不可回头,只能遍历一次,之后就不能再使用了。 使用一个Stream流,一般分为三个步骤:1. 获取数据源-> 2. 中间操作(Intermediate)-> 3. 终端操作