Java 解决哈希映射哈希冲突的技术是否可配置

Java 解决哈希映射哈希冲突的技术是否可配置,java,hashmap,hash-collision,Java,Hashmap,Hash Collision,我正在阅读散列映射解析技术,在一篇文章中,列出了单独链接的优缺点。谁决定使用哪种哈希冲突解决技术?它是纯内部的还是可配置的?只需研究HashMap类的接口(公共方法)。没有任何方法或构造函数可以改变冲突解决行为 因此答案是:至少对于标准库类来说,该部分是内部的 您可以影响的唯一参数是容量和负载系数,但它们不会影响冲突解决策略 只需研究HashMap类的接口(公共方法)。没有任何方法或构造函数可以改变冲突解决行为 因此答案是:至少对于标准库类来说,该部分是内部的 您可以影响的唯一参数是容量和负载系

我正在阅读散列映射解析技术,在一篇文章中,列出了单独链接的优缺点。谁决定使用哪种哈希冲突解决技术?它是纯内部的还是可配置的?

只需研究HashMap类的接口(公共方法)。没有任何方法或构造函数可以改变冲突解决行为

因此答案是:至少对于标准库类来说,该部分是内部的


您可以影响的唯一参数是容量和负载系数,但它们不会影响冲突解决策略

只需研究HashMap类的接口(公共方法)。没有任何方法或构造函数可以改变冲突解决行为

因此答案是:至少对于标准库类来说,该部分是内部的


您可以影响的唯一参数是容量和负载系数,但它们不会影响冲突解决策略

谁来决定?当然是创建类和代码的人。但是我不确定我是否真的理解了你的问题。重写
hashCode()
,返回一个常量值。会发生什么?为什么?冲突解决算法是由实现Hashmap的人完成的。您可以看到OpenJDK 10是如何为
setVal
和附近的
getNode
实现的,这两个最重要的方法都是隐藏在幕后的。不,它是不可配置的,它纯粹是内部的。您只能指定负载系数和初始容量。由谁决定?当然是创建类和代码的人。但是我不确定我是否真的理解了你的问题。重写
hashCode()
,返回一个常量值。会发生什么?为什么?冲突解决算法是由实现Hashmap的人完成的。您可以看到OpenJDK 10是如何为
setVal
和附近的
getNode
实现的,这两个最重要的方法都是隐藏在幕后的。不,它是不可配置的,它纯粹是内部的。你只能指定负载因子和初始容量。主题是什么?我认为它是边界的。我确实认为,至少答案足够清楚,有助于未来读者。话题是这样的吗?我认为它是边缘的。我确实认为,至少答案足够清楚,对未来的读者有帮助。