gpt4 book ai didi

scala - 顺序 Play Play框架中的Set

转载 作者:行者123 更新时间:2023-12-03 14:39:36 25 4
gpt4 key购买 nike

我通过TreeSet将模板传递给Strings。但是,当我像这样遍历集合时:

@(usernames : TreeSet[String])
@for( name <- usernames){
@name ,
}

但是,名称永远不会以正确的顺序打印。

如何遍历模板中的集合并按顺序打印名称?

最佳答案

这与Scala模板的工作方式有关。我怀疑您的TreeSet集合是在内部映射到其他集合的,因此无法保留顺序。

在Scala模板中,Scala for循环和for循环的行为之间显然存在区别。如果将代码作为常规Scala代码运行,则TreeSet的顺序显然会保留:

val users = TreeSet("foo", "bar", "zzz", "abc")    
for (user <- users) {
println(user)
}

解决问题的方法之一是在Scala模板中使用迭代器:
@for(name <- usernames.iterator) {
@name ,
}

或将TreeSet转换为序列:
@for(name <- usernames.toSeq) {
@name ,
}

关于scala - 顺序 Play Play框架中的Set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16307895/

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