如何在Scala中的同一文件中使用可变和不可变集

Jam*_*sev 7 scala set

鉴于Set的默认实现是不可变的:

val Set = immutable.Set
Run Code Online (Sandbox Code Playgroud)

并且为了使其变得可变,需要导入

import scala.collection.mutable.Set;
Run Code Online (Sandbox Code Playgroud)

在事件中,需要在给定文件中使用可变和不可变集合,应该如何处理它?

Rég*_*les 13

当您需要在同一文件中同时使用可变和不可变集合时,规范解决方案只是前缀mutableimmutable显式.

import collection._

val myMutableSet: mutable.Set[Int] = mutable.Set(1, 2, 3)
val myImmutableSet: immutable.Set[Int] = immutable.Set(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

AS Kim Stebel在他的回答中提到,你也可以使用重命名导入:

import scala.collection.mutable.{Set => MutableSet}
Run Code Online (Sandbox Code Playgroud)

但是mutable.Set只有一个字符MutableSet,并且不会引入任何新名称,因此您可以使用前一个表单.


Kim*_*bel 10

您可以在导入符号时重命名符号.

import scala.collection.mutable.{Set => MutableSet}
Run Code Online (Sandbox Code Playgroud)