HashMap的哈希/扰动函数是怎么设计的? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 HashMap的哈希/扰动函数是怎么设计的?HashMap的哈希函数是先拿到 key 的hashcode,是一个32位的int类型的数值,然后让hashcode的高16位和低16位进行异或操作。 static final int hash(Object key) { int h; // key的hashCode和key的hashCode右移16位做异或运算 return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }这么设计是为了降低哈希碰撞的概率。 标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题