JDK8的HashMap的一点想法

JDK8的HashMap用的链表+红黑树解决冲突,红黑树作为查找树,优化链表的查询效率,每个节点存对应object的hash,根据hash构建树,但是hash冲突,本身就是因为hash一样,但对象确实不一样导致的,一堆hash一样的object,怎么根据hash建树?hash都相等了,这个树咋建的?

看了源码,System下有个static方法,叫identityHashCode。



这个会生成唯一哈希,用内存地址保证唯一性。



这里写了用法,当不同对象的hashcode方法返回的hash一致时使用这个,根据这个算hash的,因为跟内存地址有关,所以是个native方法。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容