今天我们来学习一下如何使用for表达式实现map、flatMap以及filter
首先,我们来看下map。map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程。最后得到由B形成的列表。这个过程如果由for循环实现的话,如下操作:
for(element <- list) yield f(element)
接下来我们看下flatMap。flatMap的功能是,传入一个list,通过一个函数f,将list中的每个元素转换成一个列表,最后返回由这些列表中的所有元素构成的列表。这个过程如果由for表达式实现,操作如下:for(x<-list;y<-f(x)) yield y
最后我们来看下filter操作,filter的功能就是传入一个列表list,通过函数f,筛选出布尔表达式为true,即符合条件的元素,最后返回符合条件的元素构成的列表。这个过程如果由for表达式实现,操作如下:for(elem <- list if f(elem)) yield elem
分享下更多的scala资源吧:
百度云盘:http://pan.baidu.com/s/1gd7133t
微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416
360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
关注微信账号,获取更多关于scala学习内容
时间: 2024-10-07 06:30:06