您的位置:首页 > 编程语言

scala-35:List的map、flatMap、foreach、filter操作代码实战

2015-12-20 15:40 507 查看
内容:

1、对list的map和flatmap实战

2、对list的foreach和filter实战

Map:对list中的多有元素执行一个具体的函数,结果为一个list;

Flatmap:对list的内部成员进行map,map的结果为一个list,然后在如果的基础上进行flat将map操作后的结果进行合并;

Foreach:对list中成员执行一个函数,与map和flatmap不同的是,foreach产生的结果是Unit;

Filter:过滤出list中符合条件的元素,filter执行的结果为Boolean
类型的函数。

println(List(1, 2, 3, 4, 6) map (_ + 1))
//map(_+1)为对list元素+1的执行函数, 等价于map(item=>item+1)
val data = List("Scala", "Hadoop", "Spark")
println(data map (_.length))
println(data map (_.toList.reverse.mkString))
//tolist将字符串重新转化为list,reverse.mkString将字符串颠倒,输出结果	  为:list(alacS,poodaH,krapS)

println(data.map(_.toList))
println(data.flatMap(_.toList))
//结果为:list(S,c,a,l,a,H,a,d,o,o,p,S,p,a,r,k)
println(List.range(1, 10) flatMap (i => List.range(1, i) map (j => (i, j))))
//j=>(i,j)为tuple元组,结合flatmap和map;range(i,j)为左闭右开
var sum = 0
List(1, 2, 3, 4, 5) foreach (sum += _)
println("sum : " + sum)

println(List(1, 2, 3, 4, 6, 7, 8, 9, 10) filter (_ % 2 ==0))//取偶
println(data filter (_.length == 5))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: