首頁技術(shù)文章正文

Java培訓之Set接口(二)

更新時間:2017-06-30 來源:黑馬程序員java培訓學院 瀏覽量:

TreeSet:


用于對Set集合進行元素的指定順序排序,排序需要依據(jù)元素自身具備的比較性。

如果元素不具備比較性,在運行時會發(fā)生ClassCastException異常。

所以需要元素實現(xiàn)Comparable接口,強制讓元素具備比較性,復寫compareTo方法。

依據(jù)compareTo方法的返回值,確定元素在TreeSet數(shù)據(jù)結(jié)構(gòu)中的位置。

TreeSet方法保證元素唯一性的方式:就是參考比較方法的結(jié)果是否為0,如果return 0,視為兩個對象重復,不存。
 
注意:在進行比較時,如果判斷元素不唯一,比如,同姓名,同年齡,才視為同一個人。

在判斷時,需要分主要條件和次要條件,當主要條件相同時,再判斷次要條件,按照次要條件排序。
 
TreeSet集合排序有兩種方式,Comparable和Comparator區(qū)別:

1:讓元素自身具備比較性,需要元素對象實現(xiàn)Comparable接口,覆蓋compareTo方法。

2:讓集合自身具備比較性,需要定義一個實現(xiàn)了Comparator接口的比較器,并覆蓋compare方法,并將該類對象作為實際參數(shù)傳遞給

TreeSet集合的構(gòu)造函數(shù)。

第二種方式較為靈活。

本文版權(quán)歸黑馬程序員Java培訓學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

作者:黑馬程序員Java培訓學院

首發(fā):http://java.itheima.com/



分享到:
在線咨詢 我要報名
和我們在線交談!