JDK1.7用的鏈表散列結構,JDK1.8用的紅黑樹
在擴充HashMap的時候,JDK1.7的重新計算hash,
JDK1.7只需要看看原來的hash值新增的那個bit是1還是0就好了,是0的話索引沒變,是1的話索引變成“原索引+oldCap;
DK1.7中rehash的時候,舊鏈表遷移新鏈表的時候,如果在新表的數組索引位置相同,則鏈表元素會倒置,但是從上圖可以看出,
JDK1.8不會倒置
JDK1.7用的鏈表散列結構,JDK1.8用的紅黑樹
在擴充HashMap的時候,JDK1.7的重新計算hash,
JDK1.7只需要看看原來的hash值新增的那個bit是1還是0就好了,是0的話索引沒變,是1的話索引變成“原索引+oldCap;
DK1.7中rehash的時候,舊鏈表遷移新鏈表的時候,如果在新表的數組索引位置相同,則鏈表元素會倒置,但是從上圖可以看出,
JDK1.8不會倒置
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。