在Scala中如何在同一文件中使用可变集和不可变集
假设集合的默认实现是不可变的:在Scala中如何在同一文件中使用可变集和不可变集,scala,set,Scala,Set,假设集合的默认实现是不可变的: val Set = immutable.Set 为了使其可变,需要导入 import scala.collection.mutable.Set; 如果需要在给定文件中同时使用可变集和不可变集,应如何操作?导入符号时,可以重命名符号 import scala.collection.mutable.{Set => MutableSet} 当您需要在同一个文件中同时使用可变集合和不可变集合时,规范解决方案就是显式地使用mutable或immutable作为前
val Set = immutable.Set
为了使其可变,需要导入
import scala.collection.mutable.Set;
如果需要在给定文件中同时使用可变集和不可变集,应如何操作?导入符号时,可以重命名符号
import scala.collection.mutable.{Set => MutableSet}
当您需要在同一个文件中同时使用可变集合和不可变集合时,规范解决方案就是显式地使用
mutable
或immutable
作为前缀
import collection._
val myMutableSet: mutable.Set[Int] = mutable.Set(1, 2, 3)
val myImmutableSet: immutable.Set[Int] = immutable.Set(1, 2, 3)
正如Kim Stebel在回答中提到的,您还可以使用重命名导入:
import scala.collection.mutable.{Set => MutableSet}
但是
mutable.Set
只比MutableSet
多一个字符,并且没有引入任何新名称,因此您最好使用前一种形式。对。假设你必须在整个程序中交替使用不同的集合。您如何向编译器表明此集
是可变集,而集
不是可变集?我不知道您的意思。您在.scala文件中声明了几个变量,并希望var a={mutable Set},var b={immutable Set}。请问怎么做?var a=Set(…);var b=MutableSet(…)MutableSet
不是Scala中的一个类,是吗?