问题描述
- java中,哪种情况hashcode一样,但是equal却不一定相等
-
hashcode一样,内存地址应该也一样,那么说明是一样的对象或者变量,那为什么还要说,先判断hashcode是否一样,如果一样了,再去判断equal,用来确定不一样的结果
解决方案
考虑一种极端情况,如果你的程序有多于2^32个对象,无论你的hash算法是什么,显然用int表示hashcode肯定有重复。
解决方案二:
因为hash code是通过哈希函数来映射的,肯定会出现两个不同key的hash值相同,这就是哈希冲突,是哈希算法需要解决的问题。
时间: 2024-08-02 14:40:37