java中linkedlist的底層實現

參考
linkedlist源碼分析

詳情請看上面的文章,以下是我的簡單總結:
1.linkedlist可序列化、可克隆、可做隊列和雙端隊列使用

2.linkedlist的底層實現是雙向循環鏈表

3.linkedlist有兩個私有屬性,一個是Entry類的header,它表示linkedlist的頭指針,它本身不包含信息,只有previous和next兩個節點信息;第二個私有屬性是linkedlist的size

4.linkedlist有兩個構造方法,一個是無參構造方法,此時雙向列表的頭指針形成自我循環,即header.next = header.previous = header;第二個構造方法有一個collection的參數,可以把整個collection的元素全部加入linkedlist

5.linkedlist調用add(E e)方法時,默認是在鏈表的最后面,因為是雙向鏈表,所以也就是在header的前面插入,則e.next=header,header。previous=e

6.Linkedlist調用add(int index,E e)方法時,即是調用addBefore方法,即是在index位置的元素前面插入該節點

7.linkedlist的remove方法即是刪除該節點的值、該節點的上一個節點的信息和后一個節點的信息。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容