Collezioni Scala - Stream

Scala Stream è un elenco speciale con funzionalità di valutazione pigra. In scala stream, gli elementi vengono valutati solo quando sono necessari. Stream supporta calcoli pigri ed è esperto di prestazioni.

Dichiarazione delle variabili di flusso

La seguente è la sintassi per la dichiarazione di una variabile Stream.

Sintassi

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

Qui, stream è dichiarato come flusso di numeri. Qui 1 è l'inizio del flusso, 2, 3 sono la coda del flusso. Stream.empty segna la fine del flusso. I valori possono essere recuperati utilizzando comandi take come i seguenti:

Comando

stream.take(2)

Elaborazione del flusso

Di seguito è riportato un programma di esempio che mostra come creare, inizializzare ed elaborare Stream -

Esempio

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")
   }
}

Salva il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.

Comando

\>scalac Demo.scala
\>scala Demo

Produzione

Stream(1, <not computed>)
1, 2
Stream: Stream()