35.List的map、flatMap、foreach、filter操作代码实战
2017-09-12 14:10
489 查看
一、对List的map、flatMap实战
map:对List所有元素执行一个具体的函数
flatMap:对List内部的成员进行map,结果为List,再对这个结果flat合并,产生合并后的集合
输出:
List(2, 3, 4, 5, 6)
List(5, 6, 5)
List(alacs, poodah, kraps)
List(List(s, c, a, l, a), List(h, a, d, o, o, p), List(s, p, a, r, k))
List(s, c, a, l, a, h, a, d, o, o, p, s, p, a, r, k)
List((2,1), (3,1), (3,2), (4,1), (4,2), (4,3), (5,1), (5,2), (5,3), (5,4), (6,1), (6,2), (6,3), (6,4), (6,5), (7,1), (7,2), (7,3), (7,4), (7,5), (7,6), (8,1), (8,2), (8,3), (8,4), (8,5), (8,6), (8,7), (9,1), (9,2), (9,3), (9,4), (9,5), (9,6), (9,7), (9,8))
二、对List的foreach、filter实战
foreach:对所有元素应用一个具体的函数。与map的区别:不产生结果,类型为Unit
filter:过滤出列表中符合条件的元素,filter参数为结果为Boolean的函数
输出:
15
List(2, 4, 6, 8, 10)
List(scala, spark)
参考资料来源于大数据梦工厂 深入浅出scala 第35讲 由王家林老师讲解
map:对List所有元素执行一个具体的函数
flatMap:对List内部的成员进行map,结果为List,再对这个结果flat合并,产生合并后的集合
println(List(1,2,3,4,5) map(_ + 1)) //相当于map(item => item + 1) val data = List("scala", "hadoop", "spark") println(data map(_.length)) //对data中每一个元素计算长度 println(data map(_.toList.reverse.mkString)) //把data中每一个元素由字符串转换成List,再反转,再转换成字符串 println println(data map(_.toList)) println(data flatMap(_.toList)) //混合使用flatMap和map println(List.range(1,10) flatMap(i => List.range(1,i) map (j => (i,j))))
输出:
List(2, 3, 4, 5, 6)
List(5, 6, 5)
List(alacs, poodah, kraps)
List(List(s, c, a, l, a), List(h, a, d, o, o, p), List(s, p, a, r, k))
List(s, c, a, l, a, h, a, d, o, o, p, s, p, a, r, k)
List((2,1), (3,1), (3,2), (4,1), (4,2), (4,3), (5,1), (5,2), (5,3), (5,4), (6,1), (6,2), (6,3), (6,4), (6,5), (7,1), (7,2), (7,3), (7,4), (7,5), (7,6), (8,1), (8,2), (8,3), (8,4), (8,5), (8,6), (8,7), (9,1), (9,2), (9,3), (9,4), (9,5), (9,6), (9,7), (9,8))
二、对List的foreach、filter实战
foreach:对所有元素应用一个具体的函数。与map的区别:不产生结果,类型为Unit
filter:过滤出列表中符合条件的元素,filter参数为结果为Boolean的函数
var sum = 0 List(1,2,3,4,5) foreach(sum += _) //把List的每一个元素都加起来 println(sum) println(List(1,2,3,4,5,6,7,8,9,10) filter(_ % 2 == 0)) //过滤出所有的偶数 println(data filter(_.length == 5)) //过滤出长度为5的元素
输出:
15
List(2, 4, 6, 8, 10)
List(scala, spark)
参考资料来源于大数据梦工厂 深入浅出scala 第35讲 由王家林老师讲解
相关文章推荐
- List的map、flatMap、foreach、filter操作代码实战之Scala学习笔记-27
- 第35讲:List的map、flatMap、foreach、filter操作代码实战
- scala-35:List的map、flatMap、foreach、filter操作代码实战
- 第35讲:List的map、flatMap、foreach、filter操作代码实战
- scala学习之:List的map、flatMap、foreach、filter的操作代码实战
- Scala深入浅出实战经典:35,List的map、flatMap、foreach、filter操作代码实战
- Scala学习笔记23【List 的map、flatMap、foreach、filter操作实战】
- rxjava2代码实战3--flatMap,concatMap操作符
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- scala-40:Set、Map、TreeSet、TreeMap操作代码实战
- Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
- scala中的函数组合器map,foreach,flatmap,flatten,filter,zip等用法
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- 第40讲:Set、Map、TreeSet、TreeMap操作代码实战
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- Scala 深入浅出实战经典 第40讲:Set、Map、TreeSet、TreeMap操作代码实战
- scala中的函数组合器map,foreach,flatmap,flatten,filter,zip等用法
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- Scala深入浅出实战经典:40,Set、Map、TreeSet、TreeMap操作代码实战