118、Scala编程进阶之集合相关元素操作

集合元素操作

操作含义使用类型
col :+ ele将元素添加到集合尾部Seq
ele +: col将元素添加到集合头部Seq
col + ele在集合尾部添加元素Set、Map
col + (ele1, ele2)将其他集合添加到集合的尾部Set、Map
col - ele将元素从集合中删除Set、Map、ArrayBuffer
col - (ele1, ele2)将子集合从集合中删除Set、Map、ArrayBuffer
col1 ++ col2将其他集合添加到集合尾部Iterable
col2 ++: col1将其他集合添加到集合头部Iterable
ele :: list将元素添加到list的头部List
list2 ::: list1将其他list添加到list的头部List
list1 ::: list2将其他list添加到list的尾部List
set1 | set2取两个set的并集Set
set1 & set2取两个set的交集Set
set1 &~ set2取两个set的diffSet
col += ele给集合添加一个元素可变集合
col += (ele1, ele2)给集合添加一个集合可变集合
col ++= col2给集合添加一个集合可变集合
col -= ele从集合中删除一个元素可变集合
col -= (ele1, ele2)从集合中删除一个子集合可变集合
col -= col2从集合中删除一个子集合可变集合
ele +=: col向集合头部添加一个元素ArrayBuffer
col2 ++=: col向集合头部添加一个集合ArrayBuffer

集合的常用方法

head、last、tail
length、isEmpty
sum、max、min
count、exists、filter、filterNot
takeWhile、dropWhile
take、drop、splitAt
takeRight、dropRight
sclie
contains、startsWith、endsWith
indexOf
intersect、diff

scala集合map操作实战详解

map操作,一对一映射

val scoreMap = Map("leo" -> 90, "jack" -> 60, "tom" -> 70)
val names = List("leo", "jack", "tom")
names.map(scoreMap(_))

flatMap操作,一对多映射

val scoreMap = Map("leo" -> List(80, 90, 60), "jack" -> List(70, 90, 50), "tom" -> List(60,70,40))
names.map(scoreMap(_))
names.flatMap(scoreMap(_))

collect操作,结合偏函数使用

"abc".collect { case 'a' => 1; case 'b' => 2; case 'c' => 3 }

foreach操作,遍历

names.foreach(println _)

reduce操作

List(1, 2, 3, 4).reduceLeft(_ - _)
List(1, 2, 3, 4).reduceRight(_ - _)

fold操作

List(1, 2, 3, 4).foldLeft(10)(_ - _)
List(1, 2, 3, 4).foldRight(10)(_ - _)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值