创建HashSet时,其构造方法创建维护了一个HashMap来进行存储,元素值保存在HashMap的key位置
在添加元素时,putVal会进行去重:
1,通过hashcode(),比较其哈希值 比较哈希值时判断是否相同最快的方法,哈希不同则一定不同
2,如果哈希相同,则调用equals 因为哈希值相同其值不一定相同(可能产生哈希冲突)
注:hashcode() equals() 需要在调用的类中重写
创建HashSet时,其构造方法创建维护了一个HashMap来进行存储,元素值保存在HashMap的key位置
在添加元素时,putVal会进行去重:
1,通过hashcode(),比较其哈希值 比较哈希值时判断是否相同最快的方法,哈希不同则一定不同
2,如果哈希相同,则调用equals 因为哈希值相同其值不一定相同(可能产生哈希冲突)
注:hashcode() equals() 需要在调用的类中重写