-2

默认情况下,JAVA 使用哪些技术来处理哈希码冲突?它是单独的链接还是依赖于不同平台的 JVM 实现?

4

1 回答 1

0

正如javadoc所解释的:

在合理可行的情况下,由 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。(这通常通过将对象的内部地址转换为整数来实现,但 JavaTM 编程语言不需要这种实现技术。)

因此,如果 JVM 使用这种策略实现 hashCode() ,除非您有大量的堆空间并且非常倒霉,否则您不会发生任何冲突。

也就是说,ObjecthashCode()在实践中并不是很重要,因为在 HashMaps 中用作键的大多数类都会覆盖该hashCode()方法。

于 2013-07-17T10:33:41.887 回答