按键保持其键入的顺序的映射

时间:2010-11-17 01:20:46

标签: data-structures clojure

Clojure中的数据结构是否符合这一要求:

  • 表示键值对,即是地图;
  • get操作使用少于O(n);
  • 按顺序保存按键。

2 个答案:

答案 0 :(得分:3)

我也需要这个。我通常已经确定了map + a seq(包含键的顺序)。你可以去所有非持久性并使用LinkedHashMap,但我认为如果你这样做,上帝会杀死一只小猫。

Chris Houser的finger tree implementation可能适合该法案吗?

答案 1 :(得分:0)

<击>

<击>
user=> (sorted-map-by (fn [_ _] -1) :a 1 :b 2 :c 3 :d 4)
{:d 4, :c 3, :b 2, :a 1}

使用带有比较器的有序映射,该比较器始终返回-1。最新的条目将位于地图的开头,最旧的条目位于结尾处。

错误的答案。请参阅以下评论。