11.1 Scala 的集合概述

官方文档: https://docs.scala-lang.org/overviews/collections/overview.html

Scala 同时支持不可变集合和可变集合,不可变集合可以安全的并发访问

Scala 中涉及到集合的两个主要的包:

  1. 可变集合: scala.collection.mutable

    可以对集合中的元素进行增删改, 而且是更改的原集合. 所以处理可变集合意味着你需要去理解哪些代码的修改会导致集合的内容同时改变。

  2. 不可变集合:scala.collection.immutable

    也可以对集合中的元素进行增删改, 但是并不会修改原集合, 只是会返回一个新的集合而已. 对原集合来说就可以做到多线程安全.

Scala 默认采用不可变集合,对于几乎所有的集合类,Scala 都同时提供了可变和不可变的版本.
例如你直接使用set就是不可变的, 想用可变的需要单独去导包.

图例:

高层次的包: scala.collection

这个包下都是一些高层的抽象类和trait, 这些抽象类和trait既有可变的实现也有不可变的实现.

不可变集合继承层次 scala.collection.immutable

可变集合继承层次scala.collection.mutable

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-05-19 10:38:51

results matching ""

    No results matching ""