如果我导入collection.mutable.Stack
,我应该使用Stack[]
还是mutable.Stack[]()
,这两者之间是否存在差异?
答案 0 :(得分:2)
你不能同时做两件事。有两种可能的方法。
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
来使用此包中的对象。
答案 1 :(得分:1)
如果您通常遵循功能原则尽可能使用不可变数据结构,我会<link rel="stylesheet" type="text/css" href="./css/style.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="row">
<div class="col-sm-12 col-lg-4 col-md-4" id="homeDiv1">
</div>
<div class="col-sm-12 col-lg-4 col-md-4" id="homeDiv2">
</div>
<div class="col-sm-12 col-lg-4 col-md-4" id="homeDiv3">
</div>
</div>
并使用import scala.collection.mutable
来明确您在此特定情况下使用的是可变版本。
此约定也在scala documentation for collections