共計 351 個字符,預(yù)計需要花費 1 分鐘才能閱讀完成。
Java 中的 List 接口有兩種常見的實現(xiàn)類:ArrayList 和 LinkedList。
ArrayList 內(nèi)部使用數(shù)組來存儲元素,當(dāng) ArrayList 容量不足時,會自動進(jìn)行擴(kuò)容。ArrayList 的擴(kuò)容機(jī)制是在當(dāng)前容量不足時,創(chuàng)建一個新的更大容量的數(shù)組,并將原數(shù)組中的元素復(fù)制到新數(shù)組中。默認(rèn)情況下,每次進(jìn)行擴(kuò)容時,新數(shù)組的容量是原數(shù)組容量的 1.5 倍,即增長率是 50%。
LinkedList 是一個雙向鏈表,每個節(jié)點包含了前一個節(jié)點和后一個節(jié)點的引用。當(dāng)添加元素時,LinkedList 不需要進(jìn)行擴(kuò)容操作,因為它的存儲結(jié)構(gòu)是動態(tài)的,可以根據(jù)需要靈活地分配節(jié)點。
總結(jié)起來,ArrayList 通過擴(kuò)容機(jī)制來實現(xiàn)動態(tài)增長,而 LinkedList 則通過動態(tài)分配節(jié)點來實現(xiàn)動態(tài)增長。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完