1. 程式人生 > >Java基礎之HashMap原理分析(put、get、resize)

Java基礎之HashMap原理分析(put、get、resize)

在分析HashMap之前,先看下圖,理解一下HashMap的結構 ![圖片](https://images.cnblogs.com/cnblogs_com/kezhuang/1846266/o_200912094424企業微信20200912054321.png) 我手畫了一個圖,簡單描述一下HashMap的結構,陣列+連結串列構成一個HashMap,當我們呼叫put方法的時候增加一個新的 key-value 的時候,HashMap會通過key的hash值和當前node資料的長度計算出來一個index值,然後在把 hash,key,value 建立一個Node物件,根據index存入Node[]陣列中,當計算出來的index上已經存在了Node物件的話。就把新值存在 Node[index].next 上,就像圖中的 a->aa->a1 一樣,這樣的情況我們稱之為hash衝突 ## HashMap基本用法 ```