技术的更新老是很快,java 9 已经发布了有一段时间啦,增长了不少新的特性,其中 Stream API 也作了加强,添加了一下方法:takeWhile(), dropWhile(), iterate(), and ofNullable()java
takeWhile()api
方法依据 predicate 条件从流中提取元素,一旦predicate失败,它就中止并返回流,因此下面的条件 7 不是偶数,后续的 8,10 不会输出。spa
按照 predicate 的条件,是按顺序到集合中遍历元素,因此对于 set 集合,里面的顺序不是必定的,因此每次操做不必定会输出相同的结果。code
这个方法和 takeWhile 做用相反的,依据 predicate 条件从流中删除元素,一旦 predicate 失败,则中止。文档
和 takeWhile 同样,对于无序的集合,输出的结果不是固定的。it
、stream
若是指定元素为非null,则获取一个元素并生成单个元素流,元素为null则返回一个空流。循环
Stream 已经有一个 iterate 产生流,下面的示例将生成数字1,2,3,4无限流.遍历
能够使用 limit 限制方法
接下来就是 java 9 中加强的方式,这种和咱们写for 循环的方式相似。
参考文档:https://www.callicoder.com/java-9-stream-api-enhancements/