Scala Collections - วิธีการแบ่งพาร์ติชัน

partition () method เป็นสมาชิกของ TraversableLike trait ซึ่งใช้เพื่อรันเมธอดเพรดิเคตในแต่ละองค์ประกอบของคอลเล็กชัน ส่งคืนสองคอลเลกชันโดยหนึ่งคอลเลกชันเป็นองค์ประกอบที่ตอบสนองฟังก์ชันเพรดิเคตที่กำหนดและอีกคอลเลกชันหนึ่งเป็นองค์ประกอบที่ไม่ตรงตามฟังก์ชันเพรดิเคต

ไวยากรณ์

ต่อไปนี้เป็นไวยากรณ์ของวิธีแผนที่

def partition(p: (A) ? Boolean): (Repr, Repr)

ที่นี่วิธีการแบ่งพาร์ติชันใช้ฟังก์ชัน prediate เป็นพารามิเตอร์ วิธีนี้ส่งคืนคอลเล็กชัน

การใช้งาน

ด้านล่างนี้เป็นโปรแกรมตัวอย่างการแสดงวิธีการใช้งานวิธีการแบ่งพาร์ติชัน -

ตัวอย่าง

object Demo {
   def main(args: Array[String]) = {
      val list = List(1, 2, 3, 4, 5, 6, 7)
      //apply operation to get twice of each element.
      val (result1, result2) = list.partition(x=>{x % 3 == 0})
      //print result
      println(result1)
      println(result2)      
   }
}

บันทึกโปรแกรมข้างต้นใน Demo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้

คำสั่ง

\>scalac Demo.scala
\>scala Demo

เอาต์พุต

List(3, 6)
List(1, 2, 4, 5, 7)