鏈表有索引嗎arraylist和linkedlist區(qū)別?-創(chuàng)新互聯(lián)

arraylist和linkedlist區(qū)別?LinkedList和ArrayList的區(qū)別鏈表有索引嗎 arraylist
和linkedlist區(qū)別?

1。不同的數(shù)據(jù)結(jié)構(gòu)

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供峽江網(wǎng)站建設(shè)、峽江做網(wǎng)站、峽江網(wǎng)站設(shè)計(jì)、峽江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、峽江企業(yè)網(wǎng)站模板建站服務(wù),十年峽江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

ArrayList是數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList是link的數(shù)據(jù)結(jié)構(gòu)。

2.效率不同

隨機(jī)訪問列表(get和set操作)時(shí),ArrayList比LinkedList效率更高,因?yàn)長(zhǎng)inkedList是一種線性數(shù)據(jù)存儲(chǔ)模式,所以需要前后移動(dòng)指針。

添加和刪除數(shù)據(jù)(添加和刪除操作)時(shí),LinkedList比ArrayList更高效。由于ArrayList是一個(gè)數(shù)組,在其中添加和刪除操作會(huì)影響操作點(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)來使用;而LinkedList的自由度比較高,可以隨數(shù)據(jù)量的變化而動(dòng)態(tài)變化,但是使用起來并不容易。

arraylist和linkedlist的區(qū)別和使用場(chǎng)景?

1.ArrayList是基于array實(shí)現(xiàn)的,其構(gòu)造函數(shù)為:privatetransientobject[]elementdataprivateintsize。ArrayList初始化時(shí),elementdata數(shù)組的大小默認(rèn)為10;每次add()時(shí),都會(huì)調(diào)用ensuracapacity(),以確保數(shù)組不會(huì)溢出。如果此時(shí)已滿,則將其擴(kuò)展到數(shù)組長(zhǎng)度1的1.5倍,然后使用數(shù)組.copy[2]LinkedList是基于雙鏈表實(shí)現(xiàn)的:objectelemententry下一步,初始化前,使用header的優(yōu)點(diǎn)是:在任何條目(包括第一條和最后一條)中都有一個(gè)pre-entry和post-entry,因此在LinkedList對(duì)象的開頭或結(jié)尾沒有特殊的插入位置;使用場(chǎng)景:(1)如果應(yīng)用程序在每個(gè)索引位置存儲(chǔ)大量元素,結(jié)果表明ArrayList對(duì)象在獲取或刪除操作方面比LinkedList對(duì)象要好得多;(2)如果應(yīng)用程序主要循環(huán)列表,并在循環(huán)中插入或刪除操作,LinkedList對(duì)象比ArrayList對(duì)象好得多;

文章標(biāo)題:鏈表有索引嗎arraylist和linkedlist區(qū)別?-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://muchs.cn/article14/deocde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、軟件開發(fā)動(dòng)態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)虛擬主機(jī)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司