array和arraylist有何區(qū)別 arraylist和linkedlist區(qū)別?
arraylist和linkedlist區(qū)別?LinkedeList和ArrayList的區(qū)別1、數(shù)據(jù)結(jié)構(gòu)不同ArrayList是Array(動(dòng)態(tài)數(shù)組)的數(shù)據(jù)結(jié)構(gòu),LinkedList是Link(鏈表
arraylist和linkedlist區(qū)別?
LinkedeList和ArrayList的區(qū)別
1、數(shù)據(jù)結(jié)構(gòu)不同
ArrayList是Array(動(dòng)態(tài)數(shù)組)的數(shù)據(jù)結(jié)構(gòu),LinkedList是Link(鏈表)的數(shù)據(jù)結(jié)構(gòu)。
2、效率不同
當(dāng)隨機(jī)訪問List(get和set操作)時(shí),ArrayList比LinkedList的效率更高,因?yàn)長(zhǎng)inkedList是線性的數(shù)據(jù)存儲(chǔ)方式,所以需要移動(dòng)指針從前往后依次查找。
當(dāng)對(duì)數(shù)據(jù)進(jìn)行增加和刪除的操作(add和remove操作)時(shí),LinkedList比ArrayList的效率更高,因?yàn)锳rrayList是數(shù)組,所以在其中進(jìn)行增刪操作時(shí),會(huì)對(duì)操作點(diǎn)之后所有數(shù)據(jù)的下標(biāo)索引造成影響,需要進(jìn)行數(shù)據(jù)的移動(dòng)。
3、自由性不同
ArrayList自由性較低,因?yàn)樗枰謩?dòng)的設(shè)置固定大小的容量,但是它的使用比較方便,只需要?jiǎng)?chuàng)建,然后添加數(shù)據(jù),通過調(diào)用下標(biāo)進(jìn)行使用;而LinkedList自由性較高,能夠動(dòng)態(tài)的隨數(shù)據(jù)量的變化而變化,但是它不便于使用。