set集合特點(diǎn):無(wú)序,唯一
HashSet:
A:底層數(shù)據(jù)結(jié)構(gòu)是哈希表.
B:哈希表底層依賴兩個(gè)方法:hashCode() 和equals()
? ? ? 執(zhí)行順序:
? ? ? ? ? ? ? 首先比較哈希值是否相同
? ? ? ? ? ? ? ? ? ? ? 相同:繼續(xù)執(zhí)行equals()方法.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回true:元素重復(fù)了,不添加.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回false:直接把元素添加到集合.
? ? ? ? ? ? ? ? ? ? ? 不同:就直接把元素添加到集合.
C:由hashCode() 和equals()保證元素的唯一性.
D:這些代碼可以自動(dòng)生成.
TreeSet集合
A:底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹(自平衡的二叉樹)
B:保證元素的排序的方式
? ? ? ? ?a:自然排序(元素具備比較性)
? ? ? ? ? ? ? ? ?讓元素所屬的類實(shí)現(xiàn)Comparable接口.
? ? ? ? ?b:比較器排序(集合具備比較性)
? ? ? ? ? ? ? ? ?讓集合構(gòu)造方法接收Comparable的子類對(duì)象