gpt4 book ai didi

scala - 在 Scala 中将列表转换为集合

转载 作者:行者123 更新时间:2023-12-04 02:32:11 25 4
gpt4 key购买 nike

我需要按顺序将列表转换为集合。但我得到的是不按顺序排列的集合。

def toset(list: List[Int]): Int = {
var newset = Set.empty[Int]
for (i <- list){
newset += i
}
}

然后,如果我执行 list = List[Int] (4,6,2,1,7)toset(list),我将得到 newset = Set(1,6,2,7,4) 而不是 newset = Set (4,6,2,1,7)

最佳答案

您可以使用 LinkedHashSet .它是有序(未排序)集合类型,属于插入顺序。

此外,在 Scala 中,您不需要传统的 for 循环来在集合类型之间进行转换。您可以只使用 to(Factory) 方法,例如:

val list = List(4,6,2,1,7)
list.to(collection.mutable.LinkedHashSet)
//Returns LinkedHashSet(4,6,2,1,7)

从技术上讲,您也可以使用 immutable.ListSet,但目前证明它效率低下(参见 here)

关于scala - 在 Scala 中将列表转换为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63619474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com