Set接口&HashSet集合&LinkedHashSet集合

目錄

什麼時候會遇到重寫hashCode,equals方法?

Set接口:

Set集合存儲元素不重複的原理:

例子:

HashSet集合:

例子:

哈希值:

例子:

HashSet集合存儲數據的結構(哈希表)

HashSet存儲自定義類型元素:

例子:

LinkedHashSet集合


什麼時候會遇到重寫hashCode,equals方法?

個人思考:對自己自定義的類,重寫hashCode,和equals方法,有一個非常好的作用,就是之後如果對數據庫進行相關的操作的時候,就不會存儲進去一樣的對象了。

以後只要是HashSet存儲自定義類型的元素,那麼就必須要重寫hashCode與equals方法。以保證該同值的對象只出現一次。

Set接口:

Set集合存儲元素不重複的原理:

例子:

 

HashSet集合:

例子:

哈希值:

例子:

HashSet集合存儲數據的結構(哈希表)

HashSet存儲自定義類型元素:

之前使用到的系統給到的那些類,其中一些本身就是重寫了HashSet方法的。

例子:

沒有重寫的時候,equals比較的是兩個對象的地址值,(String之類的equals之類的都是被它所重寫過的。)

alt + instert 快捷鍵,添加equals 和 hashCode方法。

LinkedHashSet集合

哈希表(數組+鏈表/紅黑樹)+多了一條鏈表 記錄元素的存儲順序。

具有可預知迭代順序的Set接口的哈希表和鏈接列表實現。

例子:

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