我使用Clojure 1.1.0,我想迭代TreeMap
的所有元素。我怎么能这样做?
答案 0 :(得分:4)
此外,您还可以通过map
宏使用for
功能和列表推导来处理java.util.TreeMap
中的每个条目:
> (def t (new java.util.TreeMap {:a 1 :b 2}))
;; reverse all the pairs
> (map (fn [e] [(val e) (key e)]) t)
([1 :a] [2 :b])
;; same thing, but with destructuring/for
> (for [[k v] t]
[v k])
([1 :a] [2 :b])
答案 1 :(得分:3)
您可以使用seq
/ doseq
,就像使用普通的clojure地图一样
(doseq [entry treeMap] (
prn (key entry) (val entry))
)
其中treeMap
是您的TreeMap
个实例。