ArrayList
簡介
ArrayList底層為Object數(shù)組, 當(dāng)不提供參數(shù)實(shí), 默認(rèn)使用空數(shù)組, 由于add 有可能會(huì)導(dǎo)致數(shù)組擴(kuò)容, 當(dāng)list的大小可預(yù)計(jì)時(shí), 最好提供固定的大小以防止擴(kuò)容
add過程
先確定當(dāng)前數(shù)組大小夠不夠,不夠的話擴(kuò)容, 每次變?yōu)橹?.5倍, 如果不在末尾插入, 會(huì)導(dǎo)致數(shù)組拷貝
remove過程
若非移動(dòng)末尾項(xiàng), 會(huì)導(dǎo)致數(shù)組拷貝
LinkedList
底層為雙向鏈表
add和remove代價(jià)小, 查詢代價(jià)大