看完集合,感觉有点凌乱,遂整理了一下笔记,发现 set 集合下的保证所添加引用数据类型的元素的唯一性的时候,HashSet 集合中可以使用 “让所添加的元素具有可比性”,所以元素所在类中必须实现 Comparable 接口,然后重写 compareTo的方法,并重写所在类中的 hashcode 和 equals 方法,但是到了 TreeSet 集合中,使用的是让 “集合本身具有可比性”,所以在自定义 比较器 的时候,自定义的比较器继承了 Comparator接口后,也要重写其 compare的方法,在重写的方法体中,当比较引用数据类型如String类型的属性值时,也用到了compareTo 方法,我的问题是:为何这里所添加的元素就不需要重写“ hashcode 和 equals 方法”也能完成滤重的动作?????? |
|