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