如何在集合类型之间进行转换-在Scala中设置为ListSet

时间:2019-02-04 17:25:54

标签: scala

我的代码中有一个Set,我需要将其转移到ListSet。感觉很容易做,但是我感觉自己很笨,

一些说明问题的代码:

import scala.collection.immutable.ListSet

val someData = Set(1,2,3)

//Need to transfer to ListSet
val listSetOfData: ListSet[Int] = someData.toListSet //?

请协助

1 个答案:

答案 0 :(得分:5)

在Scala 2.12(可能是将来的Scala版本)中,您可以使用to方法转换为几乎任何集合类型:

scala> someData.to[ListSet]
res0: scala.collection.immutable.ListSet[Int] = ListSet(1, 2, 3)

在2.11和更早的版本中,您会看到人们使用多种不同的方式来做这种事情:

scala> ListSet(someData.toSeq: _*)
res1: scala.collection.immutable.ListSet[Int] = ListSet(1, 2, 3)

scala> ListSet.empty[Int] ++ someData
res2: scala.collection.immutable.ListSet[Int] = ListSet(1, 2, 3)

我个人认为我更喜欢++版本,但这很大程度上取决于口味。