Hashcode和equals
HashSet底层是一个HashMap,将数据储存在Map的key上,其value是一个Object对象。 故Set不接受重复的值,只能接收一个null。
Set判断存储对象是不是一个数据(即Map的key判断是否重复),是通过HashCode和equals方法来实现的。
hashCode方法会返回一个值,equals返回两个对象是否相等。只有当两个对象的hashcode返回值一样,并且equals判定为true时,此时才认为这两个对象是同一个对象。
equals用来判断两个对象是否是相等,而==用来判断两个对象是否是同一个对象。当一个类没有重写equals时,equals和==的作用是相同的。