【发布时间】:2012-06-18 12:29:44
【问题描述】:
我想知道,考虑到 Clojure 使用 32 位哈希来实现其映射,如果 Clojure 映射因此具有 2^32-1 个键的限制(如果不是这样,它如何管理冲突)和如果它的散列实现是consistent。 蒂亚!
【问题讨论】:
-
你看过源代码吗?
-
是的,但是我不能完全理解它,因为我不是 Java 开发人员:据我所知,哈希函数是 hasheq,它在特定情况下委托给 Integer,即 key 是 Integer 并且关键对象 hasheq 方法。但是我无法理解(或回溯)使用的哈希函数,如果地图支持冲突并且哈希函数是否一致!
-
(我永远不会理解一些反对意见)
-
对不起,我指的是 PersistentHashMap 的源代码,它是 Java 语言。 @mikera 已经在他的回答中链接到它并解释了它是如何工作的,所以我认为我没有太多要补充的。