博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala中的函数组合器map,foreach,flatmap,flatten,filter,zip等用法
阅读量:4073 次
发布时间:2019-05-25

本文共 875 字,大约阅读时间需要 2 分钟。

1、map

map方法可以将某个函数应用到集合中的每个元素并产出其结果的集合,比如

val names=List("a","b","c")

可以用

names.map(_.toUpperCase)

得到List("A","B","C")

2、foreach

foreach和map相似,只不过它没有返回值,foreach只要是为了对参数进行作用。

比如 names.foreach{name=>println(name)}

3、flatten

flatten可以把嵌套的结构展开.

scala> List(List(1,2),List(3,4)).flatten

res0: List[Int] = List(1, 2, 3, 4)

4、flatmap

flatMap结合了map和flatten的功能。接收一个可以处理嵌套列表的函数,然后把返回结果连接起来。

scala> List(List(1,2),List(3,4)).flatMap(x=>x.map(x=>x*2))

res5: List[Int] = List(2, 4, 6, 8)

5.filter

滤除掉使函数返回false的元素

scala> def isEven(i: Int): Boolean = i % 2 == 0

isEven: (i: Int)Boolean
scala> List(1,2,3,4).filter(isEven _)
res6: List[Int] = List(2, 4)

6.zip

zip方法将两个集合结合在一起

scala>  List('a,'b,'c).zip(List(1,2,3))

res32: List[(Symbol, Int)] = List(('a,1), ('b,2), ('c,3))

zipWithIndex将元素和下标结合在一起

scala> List(2,3,4,5).zipWithIndex

res33: List[(Int, Int)] = List((2,0), (3,1), (4,2), (5,3))
 

转载地址:http://bykni.baihongyu.com/

你可能感兴趣的文章
postgresql减少wal日志生成量的方法
查看>>
swift中单例的创建及销毁
查看>>
获取App Store中App的ipa包
查看>>
iOS 关于pods-frameworks.sh:permission denied报错的解决
查看>>
设置RGBColor
查看>>
设置tabbaritem的title的颜色及按钮图片
查看>>
动态设置label的高度
查看>>
获取 一个文件 在沙盒Library/Caches/ 目录下的路径
查看>>
图片压缩
查看>>
检测缓存文件是否超时
查看>>
十进制字符串转十六进制字符串
查看>>
属性字符串(富文本)的使用
查看>>
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>
利用runtime给类别添加属性
查看>>
本地推送
查看>>
FMDB的使用
查看>>