我正在使用Play Framework for java(2.5.4 with scala 2.11.8)。当我离开我的控制器时,我有一个java.util.TreeMap(带有Comparable键)正确排序,但是当在视图端使用zipWithIndex函数时,排序顺序不会保留,并且按插入顺序遍历地图。但是,我也需要该循环中元素的索引。知道为什么zipWithIndex不保存顺序(即使javadoc这么说),或者我的scala模板中有循环计数器的任何其他建议吗?
在scala头中,我有一个定义为的变量(MyComparableKey实现了Comparable接口,在执行foreach时没问题,一切都保持排序)。
results : java.util.Map[MyComparableKey, java.util.List[MyValue]]
和模板内部,我正在使用它:
@for(((k, values), i) <- results.zipWithIndex) {
@* the keys are traversed in insertion order *@
}
提前致谢。