一、简述
Scala语言中的集合可以分为可变与不可变集合。但是主要来自三个包:
-
scala.collection
-
scala.collection.immutable
-
scala.collection.mutable
可变集合可以在适当的时候被更新或被扩展,这意味着你可以修改,添加,移除一个集合;
而不变的集合类,永远不会改变。不过可以模拟改变,新增、移除或者更新操作。
二、各自的优势
-
immutable
-
-
多线程情况下,可以保持线程安全;
-
减少出错的可能性;
-
减少测试的代码量;
-
能获得更好的性能;
-
不需要支持可变性,可以尽量的节省空间和时间的开销,所有的不可变集合实现都比可变集合更加合理有效的利用内存。
-
可以被使用为一个常量,并且期望在未来也是保持不变的;
-
-
mutable
-
-
可以很方便的在原集合上进行增删改查
-
三、集合类
-
scala.collection所有了集合类-高级抽象类(包含可变与不可变)
-
scala.collection.immutable中的所有集合类(不可变)
-
scala.collection.mutable