Scala中集合的分类
Scala。collection。immutable --------不可变的
Scala.collection。mutable--------可变的
set集合
和Java中set几乎一样:元素不重复,元素无排序
分为:可变set 不可变set
是否为可变还是不可变,是取决于导包
scala> val a1=set(1,2,3) //Scala中特别注重首字母大小写,这个问题就是首字母小写形成错误的
<console>:11: error: not found: value set
val a1=set(1,2,3)
^
scala> val a1=Set(1,2,3) //首字母大写,正确写法 但值得注意的是,目前么有导包显示immutable
a1: scala.collection.immutable.Set[Int] = Set(1, 2, 3) //所以Scala中默认集合为不可变集合
scala> a1 + 5 //集合添加一个新元素,返回一个新集合,
res0: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 5)
scala> a1 //原来的a1集合元素内容没有变
res1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> val a2= a1 +5 //返回一个新集合,也是不可变集合
a2: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 5)
scala> a2
res2: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 5)
scala> val a3 = a1 - 3 //删除集合里面的元素,但是a1集合内容还是不变的,只是得到的结果返回个新集合
a3: scala.collection.immutable.Set[Int] = Set(1, 2)
scala> a1
res3: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> val a4 = a1 ++ Set(4,5,6) //添加新集合内容
a4: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 3, 4)
scala> val a5 ++ List(7,8,9) //错误写法,添加新列表 没有赋值等号,跟参数
|
| val a5 ++ List(7,8,9)
<console>:3: error: '=' expected but ';' found.
val a5 ++ List(7,8,9)
^
scala> val a5 = a1 ++ List(7,8,9) //添加新列表的正确格式
a5: scala