我们如何决定hashCode()集合方法的最佳实现(假设equals方法已被正确覆盖)?
我正在尝试为字符串设想一个好的哈希函数.而且我认为总结字符串中前五个字符的unicode值可能是一个好主意(假设它有五个,否则在它结束时停止).这是一个好主意,还是一个坏主意?
我在Java中这样做,但我不认为这会产生很大的不同.
我想知道在java中编写#hashCode()方法的最佳实践是什么.很好的描述可以在这里找到.这样好吗?
我正在阅读关于Hashmap的内容.
HashMap的一个实例有两个影响其性能的参数:初始容量和负载因子.容量是哈希表中的桶数.
如果Hashmap中有10个键值对.假设Hashcode不同.
每个人都在一个桶里吗?或者一个桶可以有多个键值对?
因为bucket在英语中意味着许多物体可以驻留的大事.
试着Java HashMap通过查看代码来了解我的工作.添加元素时,会发生以下情况:
int indexOf(int h, int length) {
return h & (length-1);
}
Run Code Online (Sandbox Code Playgroud)
我无法理解indexOf方法中的技巧.有人能解释一下吗?
谢谢.