如何在 Clojure 上合并两个哈希图?
How to merge two hashmaps on Clojure?
如何合并两个 hashmap 变量,例如 map1
和 map2
?
我试过(merge map1 map2)
,但出现以下异常:
ClassCastException java.util.HashMap cannot be cast to
clojure.lang.IPersistentCollection
嗯,显然是因为 java.util.HashMap
不是 clojure 映射。您可能会 map1
或 map2
(或两者)执行一些 java 代码?
所以在这种情况下,您应该首先像这样将它们转换为 clojure 映射,例如:
(merge (into {} map1) (into {} map2))
这应该有效。
还读了这一篇:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion
如何合并两个 hashmap 变量,例如 map1
和 map2
?
我试过(merge map1 map2)
,但出现以下异常:
ClassCastException java.util.HashMap cannot be cast to clojure.lang.IPersistentCollection
嗯,显然是因为 java.util.HashMap
不是 clojure 映射。您可能会 map1
或 map2
(或两者)执行一些 java 代码?
所以在这种情况下,您应该首先像这样将它们转换为 clojure 映射,例如:
(merge (into {} map1) (into {} map2))
这应该有效。
还读了这一篇:Clojure: working with a java.util.HashMap in an idomatic Clojure fashion