1.HashMap的數據結構是平面網格結構,用數組存放格子,格子裏面是一個鏈表。計算key的hashcode而後&上map當前長度,把key映射到格子裏面。數組
2.HashMap默認長度是16,擴展因子是0.75,首次擴展閾值爲12。每次擴張爲以前的一倍。oldLength<<1數據結構
3.JDK1.7裏面的HashMap使用的是Entry數組做爲表格+表格內的鏈表。code
4.JDK1.8裏面的HashMap使用的是Node數組做爲表格+表格內部的鏈表/紅黑樹。若是鏈表中的元素超過8個,使用紅黑樹。blog