将数组转换为Scala中的可变集?

sch*_*mmd 12 collections scala set

如何将Scala数组转换为mutable.Set?转换为immutable.Set很容易

Array(1, 2, 3).toSet
Run Code Online (Sandbox Code Playgroud)

但我找不到一种明显的方法来转换为mutable.Set.

tim*_*day 19

scala> val s=scala.collection.mutable.Set()++Array(1,2,3)
s: scala.collection.mutable.Set[Int] = Set(2, 1, 3)
Run Code Online (Sandbox Code Playgroud)


par*_*tic 11

scala> scala.collection.mutable.Set( Array(1,2) :_* )
res2: scala.collection.mutable.Set[Int] = Set(2, 1)
Run Code Online (Sandbox Code Playgroud)

奇怪的:_*类型归属,强制工厂方法将数组视为参数列表.


Teo*_*off 7

Scala 2.10通过应用.to(factory)以下内容的工厂建造者开始:

Array(1, 2, 3).to[collection.mutable.Set]
// collection.mutable.Set[Int] = Set(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

然后开始Scala 2.13

Array(1, 2, 3).to(collection.mutable.Set)
// collection.mutable.Set[Int] = HashSet(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)