ArrayList和LinkedList區(qū)別

都實(shí)現(xiàn)了List接口,但在用法上有區(qū)別

1.ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。
2.對(duì)于隨機(jī)訪問get和set,ArrayList優(yōu)于LinkedList,因?yàn)锳rrayList可以隨機(jī)定位,而LinkedList要移動(dòng)指針一步一步的移動(dòng)到節(jié)點(diǎn)處。(參考數(shù)組與鏈表來思考)
3、當(dāng)插入的數(shù)據(jù)量很小時(shí),兩者區(qū)別不太大,當(dāng)插入的數(shù)據(jù)量大時(shí),大約在容量的1/10之前,LinkedList會(huì)優(yōu)于ArrayList,在其后就劣與ArrayList,且越靠近后面越差。一般首選用ArrayList,由于LinkedList可以實(shí)現(xiàn)棧、隊(duì)列以及雙端隊(duì)列等數(shù)據(jù)結(jié)構(gòu),所以當(dāng)特定需要時(shí)候,使用LinkedList,當(dāng)數(shù)據(jù)量大的時(shí)候,如果只需要在靠前的部分插入或刪除數(shù)據(jù),那也可以選用LinkedList,反之選擇ArrayList反而效率更高。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容