Ответ 1
scala> scala.collection.mutable.Set( Array(1,2) :_* )
res2: scala.collection.mutable.Set[Int] = Set(2, 1)
Признак типа weird :_*
, заставляет метод factory видеть массив как список аргументов.
Как преобразовать Array
Scala в mutable.Set
?
Это легко преобразовать в immutable.Set
.
Array(1, 2, 3).toSet
Но я не могу найти очевидный способ конвертировать в mutable.Set
.
scala> scala.collection.mutable.Set( Array(1,2) :_* )
res2: scala.collection.mutable.Set[Int] = Set(2, 1)
Признак типа weird :_*
, заставляет метод factory видеть массив как список аргументов.
scala> val s=scala.collection.mutable.Set()++Array(1,2,3)
s: scala.collection.mutable.Set[Int] = Set(2, 1, 3)
Начиная с 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)