LinkedList的原始碼解析

2021-09-26 07:43:41 字數 470 閱讀 3614

linkedlist採用的是鏈式結構,核心**如下:

public class linkedlist
add 新增元素

public boolean add(e e)
進入到linklast()方法中

void linklast(e e)
node物件的原始碼如下:

private static class node

}

當get 乙個元素的時候:

public e get(int index)
nodenode(int index)  else 

}

該**就可以清晰的看出來,從第乙個開始獲取元素的後續,知道遍歷到index位置,將它的後續返回。

LinkedList 原始碼分析

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

LinkedList原始碼分析

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

LinkedList原始碼解析

1 實現了deque,所以是雙向鍊錶,同時可以作為雙向佇列 2 未實現randomaccess,就不能隨即訪問,對於所有的資料結構都是這樣,改介面只是起到標識作用 3 實現轉殖和序列化介面 4 鍊錶就會有節點node,雙向就會有first和last節點 5 預設建構函式什麼都沒有做,鍊錶不需要初始化...