Collezioni Scala - Metodo di partizione

Il metodo partition () è un membro del tratto TraversableLike, viene utilizzato per eseguire un metodo predicato su ogni elemento di una raccolta. Restituisce due raccolte, una raccolta è di elementi che soddisfa una data funzione del predicato e un'altra raccolta è di elementi che non soddisfano la data funzione del predicato.

Sintassi

Quanto segue è la sintassi del metodo map.

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

In questo caso, il metodo di partizione accetta come parametro una funzione prediale. Questo metodo restituisce le raccolte.

Utilizzo

Di seguito è riportato un programma di esempio che mostra come utilizzare il metodo di partizione:

Esempio

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)      
   }
}

Salva il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.

Comando

\>scalac Demo.scala
\>scala Demo

Produzione

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