คอลเลกชัน Scala - วิธี FlatMap
flatMap () method เป็นวิธี TraversableLike trait โดยใช้เพรดิเคตใช้กับแต่ละองค์ประกอบของคอลเล็กชันและส่งกลับคอลเล็กชันองค์ประกอบใหม่ที่ส่งคืนโดยเพรดิเคต
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของวิธี flatMap
def flatMap[B](f: (A) ? GenTraversableOnce[B]): TraversableOnce[B]
ที่นี่ f: (A)? GenTraversableOnce [B] คือเพรดิเคตหรือเงื่อนไขที่จะใช้กับแต่ละองค์ประกอบของคอลเลกชัน วิธีนี้ส่งคืนองค์ประกอบ Option ที่มีองค์ประกอบที่ตรงกันของตัววนซ้ำซึ่งเป็นไปตามเงื่อนไขที่กำหนด
การใช้งาน
ด้านล่างนี้เป็นโปรแกรมตัวอย่างการแสดงวิธีการใช้งานวิธี flatMap -
ตัวอย่าง
object Demo {
def main(args: Array[String]) = {
val list = List(1, 5, 10)
//apply operation
val result = list.flatMap{x => List(x,x+1)}
//print result
println(result)
}
}
บันทึกโปรแกรมข้างต้นใน Demo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้
คำสั่ง
\>scalac Demo.scala
\>scala Demo
เอาต์พุต
List(1, 2, 5, 6, 10, 11)