LinkedList的閱讀筆記

2021-07-27 07:24:51 字數 1604 閱讀 6605

linkedlist為乙個雙向迴圈鍊錶,

linkedlist兩個屬性:

private transient entryheader = new entry(null, null, null);	//煉表頭,空資料

private transient int size = 0;

public linkedlist()

元素entry類封裝:

entry為linkedlist的內部靜態類。

private static class entry

}

內建迭代器listitr 

listitr <-listiterator <-  iterator

public inte***ce listiteratorextends iterator

獲得第i

們元素

通過linkedlist

的size

,折半查詢。

private entryentry(int index)  else 

return e;

}

add增加元素

public boolean add(e e) 

private entryaddbefore(e e, entryentry)

remove刪除元素:

public boolean remove(object o) 

}} else }}

return false;

}private e remove(entrye)

arraylist與

linkedlist

的增刪查

增加:在第i

位增加乙個元素

arraylist: 需要把第

i位及後面的所有元素往後移動一位;且

需要擴充元素陣列!

linkedlist:迴圈鍊錶,找到第

i位元素,重新指定前驅,後驅;(

size/2 

折半迴圈)

刪除:刪除第i

位元素

arraylist: 需要把第

i位後面的所有元素往前移動一位;

linkedlist:迴圈鍊錶,找到第

i位元素,重新指定前驅,後驅;(

size/2 

折半迴圈)

查詢:獲取第i

位元素

arraylist: 陣列下標i

linkedlist:迴圈鍊錶,找到第

i位元素(

size/2 

折半迴圈)

jdk10 LinkedList閱讀筆記

likedlist,乙個dequeue queue 鍊錶的雜合體,操作很簡單。不過還是寫寫吧 public linkedlist 什麼都沒乾 public linkedlist collection c 執行了一下addall private static class node 乙個正常雙向鍊錶的節...

jdk原始碼閱讀 linkedlist

首先還是從建構函式開始 constructs an empty list.public linkedlist 是乙個空的 然後我們從add看 public boolean add e e 定位到linklast void linklast e e 觀察發現這個node是乙個雙向鍊錶,每乙個節點指著自...

LinkedList原始碼閱讀與理解

linkedlist原始碼閱讀與理解 幾個變數 記錄長度 transient int size 0 記錄頭節點 transient nodefirst 記錄尾節點 transient nodelast 核心類 private static class node 幾個方法 元素加入鍊錶 public ...