Java8 Stream 从入门到精通 一

Java在Java 8中提供了一个新的附加包Java .util.stream。这个包由类、接口和枚举组成,允许对元素进行函数式操作。可以通过导入java.util.stream包来使用stream。

Stream的特性:

  • 流不存储元素。它只是通过计算操作的管道从数据结构、数组或I/O通道等源传递元素。

  • 流本质上是功能性的。在流上执行的操作不会修改它的源。例如,对从集合中获得的Stream进行筛选,会生成一个新的Stream,而不包含已筛选的元素,而不是从源集合中删除元素。

  • 流是惰性的,只在需要时才执行代码。

  • 流的元素在其生命周期中只被访问一次。像迭代器一样,必须生成一个新的流来重新访问源的相同元素。

可以使用流来过滤、收集、打印,以及从一种数据结构转换到另一种数据结构等等。在下面的示例中,在流的帮助下应用了各种操作。

缺点:代码中大量使用Stream操作会使得代码维护变的困难,在编码方便和维护难度上要做一个衡量,适度就好。

1、流创建

有多种方法可以创建不同来源的流实例。创建后,实例将不会修改其源,因此允许从单个源创建多个实例。

1.1、 空流

如果创建空流,我们应该使用empty()方法:

Stream<String<

你可能感兴趣的:(Java核心,java,python,windows,开发语言)