可变集合 和 不可变集合
分别位于以下两个包:
不可变集合:
scala.collection.immutable可变集合:
scala.collection.mutable
Scala 不可变集合,就是指该集合对象不可修改,每次修改就会 返回一个新对象,而不会对原对象进行修改。类似于 java 中的 String 对象
可变集合,就是这个集合可以直接对原对象进行修改,不会返回新的对象。类似于 java 中 StringBuilder 对象
为什么有 不可变集合
- 多线程情况下,可以保持线程安全;
- 减少出错的可能性;
- 能获得更好的性能;
- 不需要支持可变性,可以尽量的节省空间和时间的开销,所有的不可变集合实现都比可变集合更加合理有效的利用内存。
- 可以作为常量使用
使用建议
数据不需要改动时,用不可变集合,性能好,占用内存小
在操作集合的时候,不可变用符号,可变用方法