解說HashSet如何保證元素的唯一性

    HashSet底層數據結構是哈希表,哈希表按哈希值來存儲,HashSet集合中有若干個存儲區域,而每個對象可以計算出一個hash值,系統會自動將這個值分組,對應若干個存儲區域。當添加新元素時,系統會計算出這個元素的hash值,然後跟存儲區域的每一個元素進行比較,如果不相同則添加該新元素。如果相同再equals比較,若爲false,則添加該元素。

    簡單說就是同過元素的兩個方法,hashcode()和equals()來完成,如果元素的hashCode值相同,再判斷equals是否爲true,若爲true就存不進去,如果元素的hashCode值不同,不會調用equals,直接存進去

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