1. 快速过滤空值:Stream.ofNullable
该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常。
在下面的示例中,有一个包含 null 的List。此时,我们可以使用Stream.ofNullable
方法对其进行过滤。
List<String> names = Arrays.asList("Alice", null, "Bob", null, "Charlie");
List<String> nonNuLLNames = names.stream()
.flatMap(Stream::ofNullable)
.collect(Collectors.toList());
System.out.println(nonNuLLNames);
执行上述代码,将输出:
[Alice, Bob, Charlie]
2. 流式迭代:Stream.iterate()
Stream.iterate()
方法用于创建无限的序列流。它采用种子和一元函数,将函数应用于前一个元素。
在下面的例子中,我们的种子是0,一元运算函数是 n -> n+2。
Stream.iterate(seed: 0, n -> n+2)
.Limit( maxsize: 10)
.forEach(e-> {
System,out printin(e)
});
执行上述代码,将输出:
0
2
4
6