https://github.com/crossoverJie/Java-Interview/blob/master/MD/ArrayList.md
1.arrayList 實現 List介面,有序,可重複。可以插入空資料,支援隨機訪問
2.有2個重要屬性,elementData陣列,size。
3.add操作,首先 進行擴容校驗,然後將插入的值放到尾部,size+1
4.如果插入指定位置,需要用到native方法陣列拷貝,system.arraycopy
5.arraylist 的主要消耗是 擴容,以及在指定位置 新增資料。
6.elementdata 元素 定義成 transient,即不可以序列化。
又重寫了 readobject和writeobject。
這樣做的目的是避免空間的浪費。因為陣列的容量實際大於 當前所存元素個數。
所以在writeobject序列化時,只序列化實際儲存的元素。
https://www.cnblogs.com/aoguren/p/4767309.html
LinkedList
1.基於雙向連結串列實現,插入快,因為 連結串列儲存的都是物件的引用,插入和刪除 只涉及到 類似指標的移動。
2.查詢慢,使用二分查詢。