JAVA HashSet contains()方法实现机制
来源:互联网 发布:enako 知乎 编辑:程序博客网 时间:2024/06/06 05:27
contains()方法是通过HashSet容器内对象的两个方法进行判断的。
——————————————————————————————
第一个是hashCode()方法。通过此方法可以快速确定希望添加的元素是否不存在于该容器。如果不存在,那hash值一定不相同。当hash值比较有相同时,继续通过equals方法进行比较。
Object类对equals方法的定义是比较两个对象的内存地址是否一样,如果希望比较值或者其他数据判断两个对象是否相等,那就要重写equals方法。同时,因为contains()是先调用hashCode()方法, 因此也需要重写hashCode()方法。
阅读全文