1

我使用 Clojure 1.1.0,我想遍历TreeMap. 我怎样才能做到这一点?

4

2 回答 2

4

此外,您还可以通过宏使用map函数和列表推导来处理 a 中的每个条目:forjava.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])
于 2012-08-10T16:54:51.973 回答
3

你可以通过使用seq/来做到这一点,doseq就像使用普通的 clojure 地图一样

(doseq [entry treeMap] (
    prn (key entry) (val entry))
)

treeMap你的TreeMap实例在哪里。

于 2012-08-10T13:39:23.260 回答