O método flatMap () é o método do traço TraversableLike, ele pega um predicado, aplica-o a cada elemento da coleção e retorna uma nova coleção de elementos retornados pelo predicado.
Sintaxe
A seguir está a sintaxe do método flatMap.
def flatMap[B](f: (A) ? GenTraversableOnce[B]): TraversableOnce[B]
Aqui, f: (A)? GenTraversableOnce [B] é um predicado ou condição a ser aplicada em cada elemento da coleção. Este método retorna o elemento Option contendo o elemento correspondente do iterador que satisfaz a condição fornecida.
Uso
Abaixo está um exemplo de programa mostrando como usar o método flatMap -
Exemplo
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)
}
}
Salve o programa acima em Demo.scala. Os seguintes comandos são usados para compilar e executar este programa.
Comando
\>scalac Demo.scala
\>scala Demo
Resultado
List(1, 2, 5, 6, 10, 11)