1
我使用Clojure 1.1.0,我想遍历所有TreeMap
的元素。我怎样才能做到这一点?如何迭代Clojure中的TreeMap?
我使用Clojure 1.1.0,我想遍历所有TreeMap
的元素。我怎样才能做到这一点?如何迭代Clojure中的TreeMap?
您可以通过使用seq
/doseq
就像正常的Clojure做映射
(doseq [entry treeMap] (
prn (key entry) (val entry))
)
其中treeMap
是你TreeMap
实例。
此外,您还可以通过for
宏使用map
功能和list解析处理的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])
你的意思java.util.TreeMap中? – soulcheck 2012-08-10 13:36:30
是的,我的意思是:) – 2012-08-10 13:37:07