Object的equals和hashCode方法往往是成对出现的且保持一致。正确重写这两个方法非常重要。现举例说明几个应用:
1、Set<T>去重复原理:T把需要去重复的元素重写equals和hashCode方法;
2、Map的HashMap和hashTable把键值中需要去重复的元素重写这两个方法;
(TreeMap把键值中需要比较的元素重写CompareTo方法,这其实也是一种变向的equals和hashCode);
3、List的contains和indexOf检索方法就是根据需要检索的元素的equals和hashCode方法。实际上,其他涉及到indexOf等检索的也都是要正确重写这两个方法。