Set没有重复元素,如果存入自定义的对象,想要去重的话,要:
如果两个自定义对象,属性完全相同,那么就判定为同一个对象
hashCode 是一个返回 int 类型的值的方法,是在Object类中定义的,所以每个对象都有此方法,该方法为 native 方法(native方法是原生方法,是用C语言或者C++写的),所以不能看到内部实现的
hashCode 值对应着内存存放的地址,每一个对象的 hashCode 值都是不一样的
set 的 add 方法会执行对象的 hashCodehashCode 相同的时候,会去调用 equals ,equals 结果相同则判定为重复元素,不相同则判定为不同的元素