集合 —— Set

Set接口概述
一個不包含重複元素的 collection
Set案例
存儲字符串並遍歷
存儲自定義對象並遍歷

HashSet類概述
不保證 set 的迭代順序
特別是它不保證該順序恆久不變

HashSet如何保證元素唯一性
底層數據結構是哈希表(元素是鏈表的數組)
哈希表依賴於哈希值存儲
添加功能底層依賴兩個方法:
int hashCode()
boolean equals(Object obj)

LinkedHashSet類概述
元素有序唯一
由鏈表保證元素有序
由哈希表保證元素唯一

TreeSet類概述
使用元素的自然順序對元素進行排序
或者根據創建 set 時提供的 Comparator 進行排序
具體取決於使用的構造方法

TreeSet是如何保證元素的排序和唯一性的
底層數據結構是紅黑樹(紅黑樹是一種自平衡的二叉樹)

HashSet集合存儲自定義對象並遍歷
如果對象的成員變量值相同即爲同一個對象
TreeSet集合存儲自定義對象並遍歷
如果對象的成員變量值相同即爲同一個對象
按照年齡進行從大到小進行排序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章