arraylist和hashmap的擴(kuò)容機(jī)制是什么

小億
125
2024-02-20 14:50:22

ArrayList的擴(kuò)容機(jī)制是在添加元素時(shí)判斷當(dāng)前元素個(gè)數(shù)是否已經(jīng)達(dá)到容量上限,如果達(dá)到上限,則會(huì)創(chuàng)建一個(gè)新的數(shù)組,將原數(shù)組中的元素復(fù)制到新數(shù)組中,并更新容量。一般來(lái)說(shuō),新數(shù)組的容量是原數(shù)組容量的1.5倍。

HashMap的擴(kuò)容機(jī)制是在添加元素時(shí)判斷當(dāng)前元素個(gè)數(shù)是否已經(jīng)達(dá)到負(fù)載因子(load factor)乘以數(shù)組容量的上限(默認(rèn)為0.75),如果達(dá)到上限,則會(huì)創(chuàng)建一個(gè)新的數(shù)組,將原數(shù)組中的元素重新分配到新數(shù)組中,并更新容量。一般來(lái)說(shuō),新數(shù)組的容量是原數(shù)組容量的兩倍。

0