contains()方法是通过HashSet容器内对象的两个方法进行判断的。
——————————————————————————————
第一个是hashCode()方法。通过此方法可以快速确定希望添加的元素是否不存在于该容器。如果不存在,那hash值一定不相同。当hash值比较有相同时,继续通过equals方法进行比较。
Object类对equals方法的定义是比较两个对象的内存地址是否一样,如果希望比较值或者其他数据判断两个对象是否相等,那就要重写equals方法。同时,因为contains()是先调用hashCode()方法, 因此也需要重写hashCode()方法。