LinkedList原始碼分析3

2021-10-20 17:26:21 字數 1633 閱讀 1229

今天完成剩餘的api:

返回值方法

含義boolean

offer(e e)

將指定的元素新增為此列表的尾部(最後乙個元素)

boolean

offerfirst(e e)

在此列表的前面插入指定的元素

boolean

offerlast(e e)

在該列表的末尾插入指定的元素

epoll()

檢索並刪除此列表的頭

epollfirst()

檢索並刪除此列表的第乙個元素,如果此列表為空,則返回 null

epolllast()

檢索並刪除此列表的最後乙個元素,如果此列表為空,則返回 null

epop()

從此列表表示的堆疊中彈出乙個元素

void

push(e e)

將元素推送到由此列表表示的堆疊上

eremove()

檢索並刪除此列表的頭

eremove(int index)

刪除該列表中指定位置的元素

boolean

removefirstoccurrence(object o)

刪除此列表中指定元素的第乙個出現(從頭到尾遍歷列表時)

boolean

removelastoccurrence(object o)

刪除此列表中指定元素的最後一次出現(從頭到尾遍歷列表時)

//插入到linkedlist的尾部。內部還是呼叫的add方法

public

boolean

offer

(e e)

//頭部插入

public

boolean

offerfirst

(e e)

//尾部插入

public

boolean

offerlast

(e e)

//刪除第乙個元素。並且返回。pop呼叫的就是removefirst方法

public e pop()

//刪除頭元素,並且返回

public e poll()

//刪除頭元素,並且返回,和poll()方法一致

public e pollfirst()

//刪除最後乙個元素

public e polllast()

//將元素壓入頭部

public

void

push

(e e)

//刪除第乙個元素

public e remove()

//刪除指定位置的元素

public e remove

(int index)

//刪除這個元素第一次出現的節點。從前往後遍歷

public

boolean

removefirstoccurrence

(object o)

//刪除元素最後一次出現的節點,從後往前遍歷

public

boolean

removelastoccurrence

(object o)}}

else}}

return

false

;}

LinkedList 原始碼分析

linkedlist資料結構是 雙向鍊錶 先來講下單鏈表和雙向鍊錶 雙向鍊錶 單鏈表相對於雙向鍊錶來說,結構簡單。但有乙個缺點,即在單鏈表中只能通過乙個節點的引用訪問其後續節點,無法直接訪問其前驅節點,如果在單鏈表中想找到某個幾點的前驅節點,必須遍歷鍊錶,耗費時間。因此擴充套件了單鏈表,在單鏈表結構...

LinkedList原始碼分析

資料結構 linkedlist是雙向迴圈鍊錶 1.構造方法 constructs an empty list.構造乙個空的列表 public linkedlist private transient entryheader new entry null,null,null entry e eleme...

LinkedList原始碼分析

linkedlist雖然和arraylist都實現了list介面,但兩者的底層資料結構截然不同。從類名可以看出,arraylist底層資料結構是陣列,而linkedlist底層資料結構是雙向鍊錶。兩者資料結構的優劣如下,arraylist按下標查詢元素速度快,但插入元素或者刪除元素效率低,因為都設計...