LinkedList原始碼解析

2021-07-30 15:19:41 字數 328 閱讀 1893

1  實現了deque,所以是雙向鍊錶,同時可以作為雙向佇列

2  未實現randomaccess,就不能隨即訪問,對於所有的資料結構都是這樣,改介面只是起到標識作用

3  實現轉殖和序列化介面

4  鍊錶就會有節點node,雙向就會有first和last節點

5  預設建構函式什麼都沒有做,鍊錶不需要初始化大小

6  jdk 1.6 有乙個空的頭結點,1.7沒有  但是有first和last節點屬性

7 不需要擴充套件,插入資料庫,查詢資料需要遍歷,速度慢

8 根據index獲取item 有乙個優化演算法,比較index跟size>>1的大小

LinkedList原始碼解析

借鑑部落格 正如上面這篇部落格所述,在1.6包括1.6之前,linkedlist都是乙個環形鍊錶結構,直到1.7包括1.7之後linkedlist變成了乙個線性鍊錶結構了。如果大家不是很懂鍊錶的結構,可以去翻看上面的這篇部落格 linkedlist和arraylist同樣提供了list和serial...

LinkedList原始碼解析

private static class node 新增乙個元素 核心思想 判斷是不是末尾插入,是則末尾插入否則指定位置插入 public void add int index,e element 在末尾加上乙個元素 void linklast e e 在指定位置加上乙個元素 void linkbe...

LinkedList原始碼解析

linklist 和arraylist的區別在於linklist底層是以鍊錶實現的,arraylist是與陣列資料結構存在 private static class node transient int size 0 當前鍊錶長度 transient nodefirst 鍊錶的第乙個元素 trans...