scala add elements to List or Set,集合添加元素是scala预约经常遇到的操作。。笔者只对该两个集合的基本操作做入门级实验,具体应用中的细节不做过多的说明,请读者自行多多验证,多动手才能卷到往生。
默认情况下,scala 的List 和 Set 都是不变的,如果新增元素或者拼接新的集合其实都是生成了新的实例
List集合添加元素的一些操作
val list1 =List(4,5,6,7,8)
println(s"list1 = ${list1}")
// 增加元素
val list2 = 1::list1.::(9)
println(s" :: 主动调用和被动添加 都放在集合前; list2 = ${list2}")
val list3 = 10+:list1 :+ 11
println(s"+: :+ 添加到集合前 集合后; list3 = ${list3}")
// list 集合拼接
val list4 = list2 ++ list3
println(s"两个集合拼接成新的集合; list4 = ${list4}")
// list集合与list集合的元素拼接
val list5 = list1 ::: list3
println(s"list1 ::: list3 = ${list5}")
val shuzu = Array(1, 3, 4) ++ Array(55,33 ,55)
println(s"::: 只能用在List , 而++还可以用在 Array 数组: ${ shuzu.mkString(",") }")
list1 = List(4, 5, 6, 7, 8)
:: 主动调用和被动添加 都放在集合前; list2 = List(1, 9, 4, 5, 6, 7, 8)
+: :+ 添加到集合前 集合后; list3 = List(10, 4, 5, 6, 7, 8, 11)
两个集合拼接成新的集合; list4 = List(1, 9, 4, 5, 6, 7, 8, 10, 4, 5, 6, 7, 8, 11)
list1 ::: list3 = List(4, 5, 6, 7, 8, 10, 4, 5, 6, 7, 8, 11)
::: 只能用在List , 而++还可以用在 Array 数组: 1,3,4,55,33,55
我们在以前的文章中有学习到Array的一些入门操作。读者可以移步自赏
Set集合添加元素的操作

上图的输出结果
Set()
Set(5)
在上图中我们可以看到set1默认是空集合,它不可以添加元素;可能会有人对+号操作有误解, + 号操作返回的是一个新集合,并不是对set1的修改。而且我们定义set1用的是关键字val 那么set1对象实例本身就是不可以修改的。
import scala.collection.mutable.Set
val set1 = Set[Int]()
set1.add(4)
set1.add(4)
set1 += 3
set1.add(5)
println(s"before add 6 , set1 = ${set1}")
set1.add(6)
println(s"after add 6 , set1 = ${set1}")
set1.remove(4)
println(s"after remove 4 , set1 = ${set1}")
set1 ++= Vector(7, 8)
println(s"after ++=Vector , set1 = ${set1}")
before add 6 , set1 = Set(5, 3, 4)
after add 6 , set1 = Set(5, 6, 3, 4)
after remove 4 , set1 = Set(5, 6, 3)
after ++=Vector , set1 = Set(5, 6, 3, 7, 8)