如果我导入collection.mutable.Stack
,我应该使用Stack[]
还是mutable.Stack[]()
,两者之间有什么区别吗?
发布于 2017-10-03 19:57:06
你不能同时做这两件事。有两种可能的方法。
scala.collection.mutable.stack
import scala.collection.mutable.Stack
val stack: Stack[Int] = new Stack[Int]
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
来使用这个包中的对象。
发布于 2017-10-03 18:59:33
如果您通常遵循功能原则尽可能使用不变的数据结构,我将使用import scala.collection.mutable
并使用mutable.Stack
来明确表示在此特定情况下您使用的是可变版本。这个约定在集合的scala文档中也有描述。
https://stackoverflow.com/questions/46550734
复制相似问题