集合元素操作
操作 | 含义 | 使用类型 |
---|---|---|
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的diff | Set |
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)(_ - _)