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