set是不允许重复对象添加的,这个应该知道吧,那么系统根据什么来判断是否重复呢?就是根据这个hash值。每个对象都有一个hash值。如果set中你要添加一个同样内容的数据,那么hash值相等,就会覆盖之前的的对象。
另外,可以查看jdk,在set集合中,有hashCod();和equals();方法,
hashCod()返回 set 的哈希码值。hash值不是随机生成的,它有一定的规律,主要是根据对象中的内容或变量计算得出。例如字符String类型,如果字符两个字符对象中的内容都是abc,那么他们的hash值肯定一样,也就是说,equals();相等,则hash值一定相等。