黑馬程序員_HashSet應用特點

HashSet應用特點


1.  HashSet底層是使用HashMap實現的。當使用add方法將對象添加到Set當中時,

實際上是將該對象作爲底層所維護的Map對象的key,而value則都是同一個Object
對象;
2.  HashMap底層維護一個數組,我們向HashMap中所放置的對象實際上是存儲在該數
組當中;
3.  當向HashMap中put一對鍵值時,它會根據key的hashCode值計算出一個位置,
該位置就是此對象準備往數組中存放的位置。
4.  如果該位置沒有對象存在,就將此對象直接放進數組當中;如果該位置已經有對象
存在了,則順着此存在的對象的鏈開始尋找(Entry類有一個Entry類型的next成員
變量,指向了該對象的下一個對象),如果此鏈上有對象的話,再去使用equals方
法進行比較,如果對此鏈上的某個對象的equals方法比較爲false,則將該對象放到

數組當中,然後將數組中該位置以前存在的那個對象鏈接到此對象的後面。

5.  HashMap的內存實現佈局:


           
     

ENTRY

 
 
 

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