我需要按顺序将列表转换为设置。但是我得到了不合时宜的集合。
def toset(list: List[Int]): Int = {
var newset = Set.empty[Int]
for (i <- list){
newset += i
}
}
Run Code Online (Sandbox Code Playgroud)
然后,如果我做list = List[Int] (4,6,2,1,7)and 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)
Run Code Online (Sandbox Code Playgroud)
从技术上讲immutable.ListSet,您也可以使用,但目前证明它效率低下(请参阅此处)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |