Scalaコレクション-パーティション方式

partition()メソッドはTraversableLikeトレイトのメンバーであり、コレクションの各要素で述語メソッドを実行するために使用されます。2つのコレクションを返します。1つのコレクションは特定の述語関数を満足させる要素であり、もう1つのコレクションは特定の述語関数を満たさない要素です。

構文

以下はmapメソッドの構文です。

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

ここで、partitionメソッドは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)