LinkedList原始碼分析

2021-05-25 09:13:38 字數 342 閱讀 8650

資料結構(linkedlist是雙向迴圈鍊錶)

1. 構造方法

/*** constructs an empty list.//構造乙個空的列表

*/public linkedlist()

private transient entryheader = new entry(null, null, null);

entry(e element, entrynext, entryprevious)

}2. 函式add

public boolean add(e e)

private entryaddbefore(e e, entryentry)

LinkedList 原始碼分析

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

LinkedList原始碼分析

linkedlist雖然和arraylist都實現了list介面,但兩者的底層資料結構截然不同。從類名可以看出,arraylist底層資料結構是陣列,而linkedlist底層資料結構是雙向鍊錶。兩者資料結構的優劣如下,arraylist按下標查詢元素速度快,但插入元素或者刪除元素效率低,因為都設計...

linkedlist原始碼分析

一.繼承體系 二.原始碼分析 新增鍊錶元素 獲取指定索引元素 nodenode int index return lastnode 插入元素頻繁使用node方法根據索引找到要插入元素的位置,同時get方法獲取元素也是用到此方法。刪除鍊錶元素 private void unlink nodex els...