LinkedList原始碼閱讀與理解

2021-08-14 09:27:15 字數 668 閱讀 4632

linkedlist原始碼閱讀與理解

幾個變數:

//記錄長度

transient

int size = 0;

//記錄頭節點

transient nodefirst;

//記錄尾節點

transient nodelast;

//核心類

private

static

class

node

}

幾個方法:

//元素加入鍊錶

public

boolean

add(e e)

//加入鍊錶尾巴

void linklast(e e)

刪除某個節點:

public e remove(int index)

//大體的思路就是獲取前後節點,修改前後節點的後前關聯節點,並將該節點的前後節點和value置空方便gc

e unlink(nodex) else

if (next == null) else

x.item = null;

size--;

modcount++;

return element;

}

jdk原始碼閱讀 linkedlist

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

JDK1 6原始碼閱讀 LinkedList

linkedlist是list的介面實現類,實現了所有可選的list操作且允許所有的元素 包括null值 除了實現list介面之外,linkedlist類提供了統一的命名方法為了在列表的頭部和尾部get remove insert元素。這些操作允許鍊錶可以作為stack 棧 queue 佇列 deq...

原始碼閱讀之LinkedList實現細節

0x00 描述 linkedlist是乙個雙向鍊錶,這是乙個基礎的資料結構。開啟linkedlist原始碼,可以看到它繼承於abstractsequentiallist,這個是abstractlist的子類。同時也實現了list deque clone serializable介面。所以簡化的類關係...