คอลเลกชัน 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)