1.JDK1,8為什么要變成紅黑樹
同一hash值的鏈表都存儲(chǔ)在一個(gè)鏈表里。但是當(dāng)位于一個(gè)桶中的元素較多,即hash值相等的元素較多時(shí),通過key值依次查找的效率較低。而JDK1.8中,HashMap采用位桶+鏈表+紅黑樹實(shí)現(xiàn),當(dāng)鏈表長(zhǎng)度超過閾值(8)時(shí),將鏈表轉(zhuǎn)換為紅黑樹這樣大大減少了查找時(shí)間。
2.默認(rèn)桶的個(gè)數(shù)16,最大為2的30次方
1.JDK1,8為什么要變成紅黑樹
同一hash值的鏈表都存儲(chǔ)在一個(gè)鏈表里。但是當(dāng)位于一個(gè)桶中的元素較多,即hash值相等的元素較多時(shí),通過key值依次查找的效率較低。而JDK1.8中,HashMap采用位桶+鏈表+紅黑樹實(shí)現(xiàn),當(dāng)鏈表長(zhǎng)度超過閾值(8)時(shí),將鏈表轉(zhuǎn)換為紅黑樹這樣大大減少了查找時(shí)間。
2.默認(rèn)桶的個(gè)數(shù)16,最大為2的30次方