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