HashMap實現原理總結

hashmap初始化一定是2的倍數原因 比如: 默認數組大小是16時,他的二進制碼爲:0001 0000 計算下表的時候將length-1,進行與運算,與運算比取模運算效率高,-1之後的二進制爲:0000 1111 這樣剛好數組下標的取值範圍爲:0~15 h 0001 1001 & 0000 1111 解決hash衝突的辦法 鏈表法 這是jdk7主要的對同一hash值處理的方法,jdk8增加紅黑樹
相關文章
相關標籤/搜索