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