面試專欄|一篇文章搞定ArrayList和LinkedList所有面試問題
阿新 • • 發佈:2018-12-03
在面試中經常碰到:ArrayList和LinkedList的特點和區別?
個人認為這個問題的回答應該分成這幾部分:
-
介紹ArrayList底層實現
-
介紹LinkedList底層實現
-
兩者個適用於哪些場合
本文也是按照上面這幾部分組織的。
ArrayList的原始碼解析
成員屬性原始碼解析
-
public class ArrayList<E>
-
extends AbstractList<E>
-
implements List<E>, RandomAccess
-
,Cloneable, java.io.Serializable {
-
private static final long
-
serialVersionUID
-
= 8683452581122892189L;
-
//預設容量是10
-
private static final int
-
DEFAULT_CAPACITY = 10;
-
//當傳入ArrayList構造器的容量為0時
-
//用這個陣列表示:容器的容量為0
-
private static final Object[]
-
EMPTY_ELEMENTDATA = {};