Collezioni Scala - Metodo FlatMap

Il metodo flatMap () è il metodo del tratto TraversableLike, prende un predicato, lo applica a ogni elemento della raccolta e restituisce una nuova raccolta di elementi restituiti dal predicato.

Sintassi

Quanto segue è la sintassi del metodo flatMap.

def flatMap[B](f: (A) ? GenTraversableOnce[B]): TraversableOnce[B]

Qui, f: (A)? GenTraversableOnce [B] è un predicato o una condizione da applicare a ogni elemento della raccolta. Questo metodo restituisce l'elemento Option contenente l'elemento corrispondente dell'iteratore che soddisfa la condizione data.

Utilizzo

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

Esempio

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

Salvare 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(1, 2, 5, 6, 10, 11)