HashMap在面試的時候最容易被問到的問題,估計面試有80%的幾率會被問到,如果每次當你的面試官讓你說下HashMap時,你只能說出它是以鍵值對的形式存儲數據時,那麼你的這場面試基本上已經Over了,除非你在別的方面有特別突出的地方。
為什麼這個知識會被問得這麼頻繁,為什麼每位面試官都對它情有獨鍾,主要還是在於HashMap是一個比較具有代表性的數據存儲結構,它的內部原理和設計思維在很多技術場景都有異曲同工的效果。從另外一個方面來講,這個問題基本是在探測你的技術基礎扎不紮實,如果一個最常用的基礎知識點你都沒有深入的去學習和了解過,那很大可能在別的技術方面也不會有什麼深度。
好了現在開始進入我們的正題,當然一些最最基礎的知識我們就跳過了,我們只抓重點,瞭解HashMap時你只要抓住這幾個知識點就基本上可以征服你的面試官了,過於細節的東西也沒必要深究,我們主要是學習它的思維和設計,當然不排除你有這種深入研究的愛好和多餘的時間。
知識點一:Hash組成結構
這個問題我想大部分人還是都有了解的,HashMap結構是由「數組」和「鏈表」組成,其結構類似於下圖的形式(圖是百度找的)。