Scala核心编程_第11章_1节 数据结构-集合总论
scala集合基本介绍
Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。
在scala中集合主要在三个包里面:scala.collection, scala.collection.immutable和scala.collection.mutable。
两个主要的包:
- 不可变集合:scala.collection.immutable
- 可变集合: scala.collection.mutable
Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本
- 不可变集合:scala不可变集合,就是这个集合本身不能动态变化。(类似java的数组,是不可以动态增长的)
- 可变集合:可变集合,就是这个集合本身可以动态变化的。(比如:ArrayList , 是可以动态增长的)
Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质,在Scala中集合有可变(mutable)和不可变(immutable)两种类型。
我们看下这三个包的层次结构:
scala.collection的层次结构如下:
![](http://upload-images.jianshu.io/upload_images/17266240-9b847eb18b2687ce.png?imageMogr2/auto-orient/strip|imageView2/2/w/481/format/webp)
scala.collection.immutable的层次结构如下:
![](http://upload-images.jianshu.io/upload_images/17266240-e148fafc7ef677e5.png?imageMogr2/auto-orient/strip|imageView2/2/w/985/format/webp)
scala.collection.mutable的层次结构如下:
![](http://upload-images.jianshu.io/upload_images/17266240-4eb7cec91a60f1d8.png?imageMogr2/auto-orient/strip|imageView2/2/w/1115/format/webp)
大多数人都以为是才智成就了科学家,他们错了,是品格。---爱因斯坦