Scalaコレクション-ストリーム

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()