Scala Collections - สตรีม
Scala Stream เป็นรายการพิเศษที่มีคุณลักษณะการประเมินแบบขี้เกียจ ในสตรีมสกาลาองค์ประกอบจะได้รับการประเมินเมื่อจำเป็นเท่านั้น สตรีมรองรับการคำนวณแบบขี้เกียจและเข้าใจประสิทธิภาพ
การประกาศตัวแปรสตรีม
ต่อไปนี้เป็นไวยากรณ์สำหรับการประกาศตัวแปร Stream
ไวยากรณ์
val stream = 1 #:: 2 #:: 3 #:: Stream.empty
ที่นี่สตรีมถูกประกาศว่าเป็นกระแสตัวเลข ที่นี่ 1 คือหัวสตรีม 2, 3 เป็นหางของสตรีม Stream.empty ทำเครื่องหมายจุดสิ้นสุดของสตรีม สามารถเรียกดูค่าได้โดยใช้คำสั่ง take ดังต่อไปนี้ -
คำสั่ง
stream.take(2)
กำลังประมวลผลสตรีม
ด้านล่างนี้เป็นโปรแกรมตัวอย่างในการแสดงวิธีสร้างเริ่มต้นและประมวลผลสตรีม -
ตัวอย่าง
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()