1,treeSet去重原理:compareTo
可以實現排序及去重:如果compareTo返回0,說明是重復的,返回的是自己的某個屬性和另一個對象的某個屬性的差值,如果是負數,則往前面排,如果是正數,往后面排;
應用:類實現compareable接口,覆寫其compareto方法,根據自己的需要改變其排序及去重規則,比如person類,根據其年齡進行去重和排序
2,hashSet去重原理:1,hashCode 2,equals是否相同
兩個方法可以快速生成,hashCode是幾個屬性的hashCode共同計算的結果
int compareTo(T o) 和指定對象比較
比較此對象與指定對象的順序。
參數:
o - 要比較的對象。
返回:
當前對象小於對象o:返回負整數
等於 : 0
大於 : 正整數
(基本數據類型的實現類生成的hashCode是其拆箱后的值的比較,跟引用數據類型的規則不同,如Integer類)
