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介面。所以簡化的類關係...