10

我正在将软件从 Scala 2.12.8 升级到 Scala 2.13,并发现根据许多指南(如this one )删除了集合 MutableList (scala.collection.mutable.MutableList )。

例如,本指南说这是一个已弃用的集合,所以这就是它被删除的原因,但我在以前的版本中找不到该类的任何弃用。

“已删除不推荐使用的集合(MutableList、immutable.Stack、其他)”

我还首先升级到 2.12.9(2.13.0 之前的最新版本)以检查是否有任何已弃用的注释给出了关于使用什么的建议,但在此版本中,该集合也未被弃用。

我搜索了这个问题,但找不到一个好的答案。这个问题对我和未来的升级都有好处。

在 Scala 2.13 中,我应该使用什么来代替 MutableList?

4

1 回答 1

10

根据https://docs.scala-lang.org/overviews/core/collections-migration-213.html

collection.mutable.MutableList在 2.12 中没有被弃用,但被认为是实现其他集合的实现细节。使用 aArrayDeque代替,或 aList和 a var

scala> val dq = new ArrayDeque[Int]
dq: scala.collection.mutable.ArrayDeque[Int] = ArrayDeque()

scala> dq.append(1)
res1: dq.type = ArrayDeque(1)

scala> dq.append(2)
res2: dq.type = ArrayDeque(1, 2)

scala> dq
res3: scala.collection.mutable.ArrayDeque[Int] = ArrayDeque(1, 2)
于 2019-08-13T09:28:00.433 回答