大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

更新時(shí)間:2020-07-15 16:43:29 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2794次

ArrayList是基于Object數(shù)組實(shí)現(xiàn)的,我們可以通過(guò)下標(biāo)來(lái)實(shí)現(xiàn)對(duì)元素的取,即可以實(shí)現(xiàn)隨機(jī)訪問(wèn),但是在插入的時(shí)候,需要移動(dòng)大量元素,所以對(duì)于能夠隨機(jī)訪問(wèn),而不經(jīng)常進(jìn)行增刪的需求,我們盡量使用ArrayList。而LinkedList是基于鏈表實(shí)現(xiàn)的,那么在進(jìn)行增刪的時(shí)候,只需要修改相應(yīng)的指針,就可以實(shí)現(xiàn)元素的增刪,效率非常高,所以對(duì)于需要快速增刪元素,應(yīng)該選擇LinkedList。

我們不僅要好奇,為什么LinkedList的插入效率這么高呢?下面我們通過(guò)源碼來(lái)一探究竟。

Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

從中,我們可以看出:通過(guò)add(int index,E element)向LinkedList插入元素時(shí)。先是在雙向鏈表中找到要插入節(jié)點(diǎn)的位置index;找到之后,再插入一個(gè)新節(jié)點(diǎn)。

雙向鏈表查找index位置的節(jié)點(diǎn)時(shí),有一個(gè)加速動(dòng)作:若index<雙向鏈表長(zhǎng)度的1/2,則從前向后查找;否則,從后向前查找。所以LinkedList的插入效率非常高,與之形成對(duì)比的,就是ArrayList的插入了。

Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

從上面的方法可以看出,在進(jìn)行插入之前,首先會(huì)調(diào)用ensureCapacity()方法,來(lái)保證ArrayList的容量,如果容量不足,首先要進(jìn)行擴(kuò)容,然后真正費(fèi)時(shí)的就是這句:

System.arraycopy(elementData,index,elementData,index+1,size-index)

這句話表明,在插入的時(shí)候,會(huì)移動(dòng)index后面的所有元素,這就是ArrayList插入元素效率低的原因。

下面我們來(lái)分析一下ArrayList和LinkedList隨機(jī)訪問(wèn)的效率。

首先來(lái)看LinkedList的隨機(jī)訪問(wèn):

Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

對(duì)于LinkedList來(lái)說(shuō),隨機(jī)訪問(wèn)第index的元素,從頭結(jié)點(diǎn)開(kāi)始遍歷,查找到index的位置,然后返回元素,這里只不過(guò)有一個(gè)加速遍歷的動(dòng)作而已。

但是對(duì)于ArrayList來(lái)說(shuō)就不同了:

Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景

從中,我們可以看出:通過(guò)get(int index)獲取ArrayList第index個(gè)元素時(shí)。直接返回?cái)?shù)組中index位置的元素,而不需要像LinkedList一樣進(jìn)行查找。

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中l(wèi)ist的使用之List的應(yīng)用場(chǎng)景”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美乱大交xxxxx在线观看 | 日本一区二区三区在线 观看网站 | 欧美久久久久久久一区二区三区 | 免费一级片在线 | 一级成人黄色片 | 国产精品拍自在线观看 | 黄页网站 播放器 日本 | 一级性毛片 | se01国产短视频在线观看 | 免费在线看a| 911国产在线观看精品 | 911精品国产91久久久久 | 国产国产精品人在线观看 | 91国内精品久久久久影院优播 | 日日摸日日添日日透 | 免费高清在线爱做视频 | 可以看美女隐私的网站 | 91视频国内 | 国产精品日本一区二区不卡视频 | 精品视频999 | 爱我久久国产精品 | 欧美 亚洲 另类 热图 | 一级毛片网 | 久久精品综合网 | 欧美激情视频二区 | 视频在线观看入口一二三2021 | 久久影视网 | 亚洲欧美在线综合一区二区三区 | 久久久久久国产精品免费免 | 骚黄视频 | 97se狠狠狠狠狼亚洲综合网 | 久久精品六 | xxx中国bbbwww| 免费一级黄色录像 | 成年性视频bbixx | 国产精品欧美日韩视频一区 | 亚洲国产天堂在线mv网站 | 青青国产在线播放 | 中文字幕日韩一区二区三区不 | 欧美性xxxxxx爱 | 亚洲美女精品视频 |