HashMap

HashMap本質是哈希表,通過k-v存儲數據,映射關系通過哈希函數構造。

哈希函數的實現方式

1.直接定址法:取關鍵字的線性函數值作為哈希地址。
2.數組分析法:取關鍵字中的若干位作為哈希地址。
3.平方取中法:取關鍵字平方后的中間幾位作為哈希地址。
4.折疊法:將關鍵字分割成位數相同的幾部分,然后這幾部分疊加作為哈希地址。
5.除留余數法(常見)
6.隨機函數法

能夠解決哈希沖突的方法

哈希沖突:若干個key對應相同的哈希地址。
解決方法:
1.開放地址法
2.鏈地址法:將所有哈希地址沖突的記錄存儲在同一個線性鏈表中。
3.公共溢出區法:將所有哈希地址沖突的記錄都填入到溢出表中。
4.再哈希法

HashMap的遍歷

Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Entry entry  = (Entry)iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • HashMap 是 Java 面試必考的知識點,面試官從這個小知識點就可以了解我們對 Java 基礎的掌握程度。網...
    野狗子嗷嗷嗷閱讀 6,691評論 9 107
  • 前言 這次我和大家一起學習HashMap,HashMap我們在工作中經常會使用,而且面試中也很頻繁會問到,因為它里...
    liangzzz閱讀 8,021評論 7 102
  • 前言 今天來介紹下HashMap,之前的List,講了ArrayList、LinkedList,就前兩者而言,反映...
    嘟爺MD閱讀 2,895評論 2 56
  • 支持媽媽,有位博主說的對“只有受到霸淩的孩子和懂得并愿意去理解孩子感受的大人才知道經受霸凌的痛苦和無助,在其他人看...
    一本正經5閱讀 301評論 0 0
  • 作者/趙奇越 忙碌中無暇顧及的親情, 濃縮在短暫的假日駐足, 繪成一幅美麗的畫卷, 一雙堅實的大手, 攙扶頭頂霜白...
    趙奇越閱讀 320評論 2 2