JDK1.8-ArrayList-add/get/remove 源码流程解析

1.add(E e)

JDK1.8-ArrayList-add/get/remove 源码流程解析

2.get(int index) 

JDK1.8-ArrayList-add/get/remove 源码流程解析

3.remove(Object o) 

JDK1.8-ArrayList-add/get/remove 源码流程解析

4.安全性:ArrayList由于没有加同步和任何的锁机制,因此不是线程安全的。可能出现数组越界或者脏读等问题。想要线程安全可以使用Vector。

5. remove(Object o)和remove(int index)区别:remove(Object o)返回true/false;remove(int index)返回的是被删除的值

6.ArrayList扩容:int newCapacity = oldCapacity + (oldCapacity >> 1);