索引我有一个字符串转换列表中的地图与主要是在斯卡拉
val list = List("a", "b", "c", "d", "e")
的名单,我想有一个与键在列表项的索引地图。所以,我做了以下内容:
def mapByIndexes(list: List[String]): Map[Int, String] = (1 to list.size).zip(list).toMap
然而,得到的地图不保留索引顺序和我得到这个结果:
Map(5 -> "e", 1 -> "a", 2 -> "b", 3 -> "c", 4 -> "d")
如何修改上面这样的代码我以下列自然顺序获得地图?
Map(1 -> "a", 2 -> "b", 3 -> "c", 4 -> "d", 5 -> "e")
注:我知道,我可以排序生成的地图,但我可以避开这一步,创建地图已保留订单吗?
编辑:解决方案ListMap
描述在Scala LinkedHashMap.toMap preserves order?的作品,但我不喜欢额外的括号和_*
这么简单的事情。没有别的,所以我可以链接?如果没有,我会接受@pamu答案。
[Scala LinkedHashMap.toMap保留顺序的可能的重复?](http://stackoverflow.com/questions/6199186/scala-linkedhashmap-tomap-preserves-order) –