ArrayList
- 底層是個默認大小爲10的數組,所以當size需求大於10時,初始化size的時候大一點。
- 當ArrayList的寫滿之後,ArrayList會生成一個更大的數組,大小變爲原來的1.5倍。然後將原來數組的數據拷貝過去,因此會佔用一定的時間和內存。
12345678910111213public void ensureCapacity(int var1) {++this.modCount;int var2 = this.elementData.length;if(var1 > var2) {Object[] var3 = this.elementData;int var4 = var2 * 3 / 2 + 1;if(var4 < var1) {var4 = var1;}this.elementData = Arrays.copyOf(this.elementData, var4);}}
- 適合隨機訪問
LinkedList
- 底層是List,適用於頻繁添加刪除元素的情況