Collections Scala - Stream
Scala Stream est une liste spéciale avec une fonction d'évaluation paresseuse. Dans le flux scala, les éléments sont évalués uniquement lorsqu'ils sont nécessaires. Stream prend en charge le calcul paresseux et est avisé en matière de performances.
Déclaration des variables de flux
Voici la syntaxe pour déclarer une variable Stream.
Syntaxe
val stream = 1 #:: 2 #:: 3 #:: Stream.empty
Ici, le flux est déclaré comme un flux de nombres. Ici 1 est la tête du ruisseau, 2, 3 sont la queue du ruisseau. Stream.empty marque la fin du flux. Les valeurs peuvent être récupérées à l'aide de commandes take comme les suivantes -
Commander
stream.take(2)
Flux de traitement
Voici un exemple de programme montrant comment créer, initialiser et traiter Stream -
Exemple
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")
}
}
Enregistrez le programme ci-dessus dans Demo.scala. Les commandes suivantes sont utilisées pour compiler et exécuter ce programme.
Commander
\>scalac Demo.scala
\>scala Demo
Production
Stream(1, <not computed>)
1, 2
Stream: Stream()