set集合實現去重原理,以及按照自定義方法排序


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類)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM