LinkedList 是 Java 集合框架中一個重要的實現,其底層采用的雙向鏈表結構。和 ArrayList 一樣,LinkedList 也支持空值和重復值。由於 LinkedList 基於鏈表實現,存儲元素過程中,無需像 ArrayList 那樣進行擴容。但有得必有失,LinkedList 存儲元素的節點需要額外的空間存儲前驅和后繼的引用。另一方面,LinkedList 在鏈表頭部和尾部插入效率比較高,但在指定位置進行插入時,效率一般。原因是,在指定位置插入需要定位到該位置處的節點,此操作的時間復雜度為O(N)。最后,LinkedList 是非線程安全的集合類,並發環境下,多個線程同時操作 LinkedList,會引發不可預知的錯誤
首先LinkedList 的 成員變量
重點是 first last 變量 size 對象的個數
內部有一個內部類 內部類 包括 next 指向下一個元素 和 pre指向上一個元素
這就是為什么 LinkedList 是一個鏈表,傳入元素的時候 只是插入一個 Node 對象,並指向 上一個和下一個對象
但是要循環查詢元素 就需要逐個去查詢
在插入 刪除 元素的時候 只是操作 Node 對象 next 指向下一個元素 和 pre指向上一個元素即可