Stack[] 和 mutable.Stack[]() 之间的差异

Differences between Stack[] and mutable.Stack[]()

如果我导入 collection.mutable.Stack,我应该使用 Stack[] 还是 mutable.Stack[](),两者之间有什么区别吗?

如果您通常遵循尽可能多地使用不可变数据结构的功能原则,我会 import scala.collection.mutable 并使用 mutable.Stack 来明确您在此使用可变版本特殊案例。 scala documentation for collections

中也描述了此约定

您不能同时进行这两项操作。有两种可能的方法。

1。 导入 scala.collection.mutable.stack

import scala.collection.mutable.Stack
val stack: Stack[Int] = new Stack[Int]

2。 导入 scala.collection.mutable

import scala.collection.mutable
val stack: mutable.Stack[Int] = new mutable.Stack[Int]

在第一个示例中,您正在导入 scala.collecion.mutable.Stack。因此您可以直接使用 Stack 对象及其功能。在第二个中,您正在导入 scala.collection.mutable。这样您就有资格使用 mutable 包的功能。您必须通过调用 mutable.xxx.

使用此包中的对象