jdk9 中针对于 Stream 新添加了4个方法,takeWhile(),dropWhile(),ofNullable(T t),itrator()。
1.takeWhile():用于从 Stream 中获取一部分数据,接收一个Predicate 来进行选择。在有序的Stream 中,takeWhile 返回从开头开始的尽量多的元素。
2.dropWhile():dropWhile 的行为与 takeWhile 相反,返回剩余的元素。
3.ofNullable():Java 8 中 Stream 不能完全为null,否则会报空指针异常。而 Java 9 中的ofNullable 方法允许我们创建一个单元素 Stream,可以包含一个非空元素,也可
以创建一个空 Stream。
4.iterator()重载的使用:
原来的控制终止方式:
Stream.iterate(1,i -> i + 1).limit(10)
.forEach(System.out::println);
现在的终止方式:
Stream.iterate(1,i -> i < 100,i -> i + 1)
.forEach(System.out::println);
复习:Stream的实例化:
①通过集合的stream()
②通过数组的工具类:Arrays
③Stream中的静态方法:of()
④iterator()/generate()
⑤Optional类中提供了转换为Stream的方法——stream()