Scala 集合 - stream 流
Scala Stream 是具有延迟计算功能的特殊列表。 在 scala 流中,元素仅在需要时才被求值。 Stream 支持延迟计算并且具有出色的性能。
声明 stream 流变量
以下是声明流变量的语法。
语法
val stream = 1 #:: 2 #:: 3 #:: Stream.empty
这里,stream 被声明为数字流。 这里 1 是流的头,2、3 是流的尾。 Stream.empty 标记流的结束。 可以使用如下所示的 take 命令检索值 −
命令
stream.take(2)
处理流
下面是一个示例程序,展示如何创建、初始化和处理 Stream −
示例
import scala.collection.immutable.Stream object Demo { def main(args: Array[String]) = { val stream = 1 #:: 2 #:: 3 #:: Stream.empty // print stream println(stream) // Print first two elements stream.take(2).print println() // Create an empty stream val stream1: Stream[Int] = Stream.empty[Int] // Print element println(s"Stream: $stream1") } }
将上述程序保存在Demo.scala中。 以下命令用于编译和执行该程序。
命令
\>scalac Demo.scala \>scala Demo
输出
Stream(1, <not computed>) 1, 2 Stream: Stream()