索引我有一個字符串轉換列表中的地圖與主要是在斯卡拉
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) –