【发布时间】:2011-07-08 17:56:40
【问题描述】:
如何将 Scala Array 转换为 mutable.Set?
转换为immutable.Set 很容易:
Array(1, 2, 3).toSet
但我找不到转换为mutable.Set 的明显方法。
【问题讨论】:
标签: scala collections set
如何将 Scala Array 转换为 mutable.Set?
转换为immutable.Set 很容易:
Array(1, 2, 3).toSet
但我找不到转换为mutable.Set 的明显方法。
【问题讨论】:
标签: scala collections set
scala> val s=scala.collection.mutable.Set()++Array(1,2,3)
s: scala.collection.mutable.Set[Int] = Set(2, 1, 3)
【讨论】:
scala> scala.collection.mutable.Set( Array(1,2) :_* )
res2: scala.collection.mutable.Set[Int] = Set(2, 1)
奇怪的:_* 类型归属,强制工厂方法将数组视为参数列表。
【讨论】:
从Scala 2.10开始,通过工厂建设者申请.to(factory):
Array(1, 2, 3).to[collection.mutable.Set]
// collection.mutable.Set[Int] = Set(1, 2, 3)
开始Scala 2.13:
Array(1, 2, 3).to(collection.mutable.Set)
// collection.mutable.Set[Int] = HashSet(1, 2, 3)
【讨论】: