与Java LinkedHashSet一样。所以不要这样:
(-> #{} (conj 1 2 3 4 5) vec)
=> [1 4 3 2 5]
你得到:
(-> ??? (conj 1 2 3 4 5) vec)
=> [1 2 3 4 5]
答案 0 :(得分:4)
不在核心库中,但有this one。
(use 'flatland.ordered.set)
(ordered-set 4 3 1 8 2)
=> #ordered/set (4 3 1 8 2)
(conj (ordered-set 9 10) 1 2 3)
=> #ordered/set (9 10 1 2 3)
(into (ordered-set) [7 6 1 5 6])
=> #ordered/set (7 6 1 5)