如何集合类型之间的转换 - 设置为LISTSET斯卡拉

问题描述 投票:1回答:1

我有我的代码Set,我需要转移到ListSet。这感觉就像一个非常容易的事,但我觉得自己像个白痴没有能够做到这一点

一些代码来说明这个问题:

import scala.collection.immutable.ListSet

val someData = Set(1,2,3)

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

请协助

scala
1个回答
5
投票

在斯卡拉2.12(大概未来斯卡拉版本),你可以使用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)

我个人认为,我更喜欢++版本,但它在很大程度上是口味的问题。

© www.soinside.com 2019 - 2024. All rights reserved.