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