Scala 集合 - Stream



Scala Stream 是一種具有惰性求值功能的特殊列表。在 Scala Stream 中,元素僅在需要時才進行求值。Stream 支援惰性計算,並且效能優越。

宣告 Stream 變數

以下是宣告 Stream 變數的語法。

語法

val stream = 1 #:: 2 #:: 3 #:: Stream.empty

這裡,stream 被宣告為一個數字流。其中 1 是流的頭部,2、3 是流的尾部。Stream.empty 標記流的結束。可以使用 take 命令檢索值,例如以下命令:

命令

stream.take(2)

處理 Stream

下面是一個示例程式,演示瞭如何建立、初始化和處理 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()
廣告

© . All rights reserved.