1. 程式人生 > >閱讀原始碼,通過LinkedList回顧基礎

閱讀原始碼,通過LinkedList回顧基礎

[toc]
## 前言 > 本文基於jdk1.8 書接上回,在簡單介紹ArrayList的時候,提到了ArrayList實現了RandomAccess介面,擁有隨機訪問的能力,當時說到了這個介面配合LinkedList理解更容易。今天就來還願了,開始閱讀LinkedList。 LinkedList也算我們比較常用的幾個集合之一了,對普通程式設計師來說, ```java List list1 = new ArrayList() List list2 = new LinkedList(), ``` 該怎麼選擇? 其實二者最大的區別在於實現方式的不同,只看名稱我們也能知道, ==ArrayList基於陣列,而LinkedList基於連結串列==,所以關鍵在於陣列和連結串列有啥區別。 說到這,是不是又說明了一個很重要的道理,基礎,基礎,基礎。如果想成為一個真正的程式設計師,不管你是科班還是半路出家,都要下功夫夯實基礎。 說回正題,**ArrayList基於陣列,查詢快(按索引查詢),增刪慢;LinkedList基於連結串列,增刪快,查詢慢**。但這只是相對的,僅僅知道這兩點,遠遠不夠,所以,繼續往下看。
## 類簽名 ```java public class Li