千鋒教育Java入門全套視頻教程(java核心技術,適合java零基礎,Java

165
?HashMap是一個鍵值對集合。jdk8底層基于數組+鏈表+紅黑樹。
??put方法,根據hash值計算位置(高十六位和低十六位做了一個異或運算,hash結果跟n-1做位與運算,hashMap能保證n一定是2的多少次方,默認容量是16,加載因子是0.75f,每次擴容擴的是2倍。帶參構造會調一個方法把你指定容量改為比你大最近的2的多少次方。),判斷這個位置的元素的key和我要加入的Key是否重復,重復就替換,不重復就放進去。(單節(jié)點,鏈表,樹)
??鏈表在長度大于8的時候轉紅黑樹(桶的個數要達到64,否則擴容),小于6轉鏈表。
標簽: