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ù)組容量的兩倍。