标签:不同的 char sigma 重写 equal 不同 nbsp als 判断
hashcode() 与 equals() 应一起重写,在HashMap 会先调用hash(key.hashcode()) 找到对应的entry数组位置 (一般初始是16,2^x,rehash后会翻倍),再在这个entry链表上equals判断是否存在相同元素。
所以当重写equals时没保证hashcode出的值的一致性,会导致hash到不同的数组位置 插入重复的元素。
※String类的hashcode是通过各个位置的char的ascii码计算Σx*31^(len-i)得到的※
标签:不同的 char sigma 重写 equal 不同 nbsp als 判断
原文地址:https://www.cnblogs.com/chafanbusi/p/10620958.html