【发布时间】:2014-11-16 05:42:10
【问题描述】:
我在我的代码中定义了一个地图,例如:
(def templates {:list1 {:create_time "create_time"
:recharge_amount "recharge"
:invest_amount "invest"
;; something else
}
:list2 {:create_time "ct"
;; something else
}
;;something else
})
我希望地图按照我的定义保持顺序。 如何解决?
【问题讨论】:
-
使用排序图(见
sorted-map)。 -
@DiegoBash
sorted-map不会保持插入顺序(当然,除非您按排序顺序插入键)。 -
你可以保留一个平行的键向量,就像插入的一样。在这里,
(def template-log [:list1 :list2])。 -
您可以与 Java 互操作并使用 LinkedHashMap。
标签: clojure