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