11.1 Scala 的集合概述
官方文档: https://docs.scala-lang.org/overviews/collections/overview.html
Scala 同时支持不可变集合和可变集合,
Scala 中涉及到集合的两个主要的包:
可变集合:
scala.collection.mutable
可以对集合中的元素进行增删改, 而且是更改的原集合. 所以处理可变集合意味着你需要去理解哪些代码的修改会导致集合的内容同时改变。
不可变集合:
scala.collection.immutable
也可以对集合中的元素进行增删改, 但是并不会修改原集合, 只是会返回一个新的集合而已. 对原集合来说就可以做到多线程安全.
Scala
例如你直接使用set
就是不可变的, 想用可变的需要单独去导包.
图例:
高层次的包: scala.collection
这个包下都是一些高层的抽象类和trait
, 这些抽象类和trait
既有可变的实现也有不可变的实现.