流是一个惰性列表。它仅在需要时评估元素。这是scala的功能。 Scala支持延迟计算。它可以提高程序的性能。
Scala流示例
在以下程序中, 我们创建了一个流。
object MainObject{
def main(args:Array[String]){
val stream = 100 #:: 200 #:: 85 #:: Stream.empty
println(stream)
}
}
输出
Stream(100, ?)
在输出中, 你可以看到未评估第二个元素。在此, 显示问号代替元素。除非需要, Scala不会评估列表。
Scala Stream示例:应用预定义方法
在下面的示例中, 我们使用了一些预定义的方法(例如toStream), 该方法用于迭代流元素。
import scala.collection.immutable._
object MainObject{
def main(args:Array[String]){
var stream = 100 #:: 200 #:: 85 #:: Stream.empty
println(stream)
var stream2 = (1 to 10).toStream
println(stream2)
var firstElement = stream2.head
println(firstElement)
println(stream2.take(10))
println(stream.map{_*2})
}
}
输出
Stream(100, ?)
Stream(1, ?)
1
Stream(1, ?)
Stream(200, ?)