确定集合中 hashCode() 方法的最佳实现是一项细致入微的任务,很大程度上受到以下因素的影响具体的使用模式。然而,Josh Bloch 在他的开创性著作“Effective Java”(第 8 项,第二版)中概述了一种广泛认可且有效的方法。
根据 Bloch 的建议建议,应遵循以下步骤来创建有效的 hashCode()方法:
根据每个字段f计算其哈希码c类型:
将计算出的哈希值c与结果相结合:
result = 37 * result + c
该方法确保哈希值的正确分配通过有效地组合 equals() 方法中测试的所有字段的哈希码来获取大多数用例的值。组合步骤中乘以 37 进一步增强了分布。
虽然可能没有普遍的“最佳”实现,但 Bloch 推荐的方法为创建有效的 hashCode 提供了坚实的基础( ) 集合方法。通过仔细考虑使用模式并应用概述的步骤,开发人员可以确保他们的集合在基于哈希的操作(例如 contains() 和 get())方面具有最佳性能。
以上是如何为集合实现健壮的 hashCode() 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!