linkedLIst和ArrayLIst一樣,都實(shí)現(xiàn)了List接口,但其內(nèi)部的數(shù)據(jù)結(jié)構(gòu)不同,linkedList是基于鏈表實(shí)現(xiàn)的(從名字也能看出來(lái)),隨機(jī)訪問(wèn)效率要比ArrayList差.它的插入和刪除操作比ArrayList更加高效,但還是要遍歷部分鏈表的指針才能移動(dòng)到下標(biāo)所指的位置,只有在鏈表兩頭的操作能省掉移動(dòng),如add(),addFirest(),removeLast()等.
linkedList源碼分析
1.數(shù)據(jù)結(jié)構(gòu)
linkedList是基于鏈表結(jié)構(gòu)實(shí)現(xiàn)的,在類(lèi)中定義了頭尾指針.其內(nèi)部維護(hù)了一個(gè)雙向鏈表
2.構(gòu)造方法
默認(rèn)構(gòu)造函數(shù)很簡(jiǎn)單,啥也沒(méi)有
將集合的元素添加的linkedList中:
3.存儲(chǔ)
(1)add(E)在鏈表的末尾添加元素
(2)add(int,E)在指定的位置插入元素
(3)addAll(Collection)將集合添加到鏈表末尾,該方法在構(gòu)造方法中介紹了,在此不再贅述
(4)addAll(int,Collection)將集合添加到鏈表的指定位置,該方法也在構(gòu)造方法中介紹了
(5)addFirst(E)將元素添加到鏈表表頭位置
(6)addLast(E)將元素添加到表尾
4.獲取
5.刪除
刪除方法不在給出源碼,基本大同小異.有如下方法:
remove():刪除第一個(gè)元素并返回,調(diào)用removeFirst方法
remove(int):刪除鏈表指定位置的元素
remove(Object):從鏈表中刪除首次出現(xiàn)的元素
removeFirst():刪除并返回第一個(gè)元素
removeLast():刪除并返回最后一個(gè)元素
removeFirstOccurrence(Object):從鏈表中刪除第一次出現(xiàn)的指定元素
removeLastOccurrence(Object):從鏈表中刪除最后一個(gè)出現(xiàn)的指定元素
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java編程中的基礎(chǔ)分享,linkedlist集合”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。