35.List的map、flatMap、foreach、filter操作代码实战
来源:互联网 发布:苹果cms 仿08影院模板 编辑:程序博客网 时间:2024/06/10 19:00
一、对List的map、flatMap实战
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讲 由王家林老师讲解
阅读全文
0 0
- 35.List的map、flatMap、foreach、filter操作代码实战
- Scala深入浅出实战经典: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操作实战】
- scala基础36-List的map/flatmap/filter等操作
- map,reduce,filter,flatmap
- spark简单操作——map flatmap filter distinct
- scala中的函数组合器map,foreach,flatmap,flatten,filter,zip等用法
- scala中的函数组合器map,foreach,flatmap,flatten,filter,zip等用法
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- 初涉RxAndroid .map() . filter() flatMap()
- Swift 数组中 Map,FlatMap,Filter,Reduce的使用
- Swift 数组中 Map,FlatMap,Filter,Reduce的使用
- rxjava2代码实战3--flatMap,concatMap操作符
- Spark操作-map和flatMap
- Stream API:filter、map和flatMap方法
- Swift 集合类型方法 map、 flatMap、filter
- centos7.0 安装多个5.7 mysql
- C语言问题集锦1-10
- 反射!都坐下,这是基本操作
- 简单理解AOP(面向切面编程)
- 在自己的服务器上部署Django项目
- 35.List的map、flatMap、foreach、filter操作代码实战
- 如何直接在github网站上更新你fork的repo?
- Machine Learning中的监督式—感知器算法
- 用Hibernate Tools生成Hibernate Mapping映射文件
- 灵巧手项目控制系统笔记
- windows下安装Dlib详细过程
- HTML5--SSE 和 WebSocket
- BZOJ 3450 Tyvj1952 Easy
- python多线程socket编程--多客户端接入