对所有的元素应用一个函数,并将结果放入一个新的 Traversable对象中
解决方法:
1、map()
2、flatMap()
package main object Test { def main(args: Array[String]): Unit = { val t = Traversable(1 to 5: _*); val result = t.map( x => x + 5 ); //每个元素加5,返回新元素 println(result); //List(6, 7, 8, 9, 10) val result2 = t.map( x => x * x ); println(result2); //List(1, 4, 9, 16, 25) } }
package main object Test { def main(args: Array[String]): Unit = { val words = Traversable("Hadoop", "Hive", "Sqoop"); val r1 = words.map(x => x.toUpperCase); //每个元素加转换成大写 println(r1); //List(HADOOP, HIVE, SQOOP) val r2 = words.flatMap(x => x.toList); println(r2); //List(H, a, d, o, o, p, H, i, v, e, S, q, o, o, p) val r3 = words.flatMap(x => x.toUpperCase); println(r3); //List(H, A, D, O, O, P, H, I, V, E, S, Q, O, O, P) } }
讨论:
flatMap() 可以看作是 map + flatten 的联合方法。

浙公网安备 33010602011771号