1.首先要明确的知道ArrayList其实就是一个一维数组, 实现了可自增集合对象。
2.public ArrayList构造方法,其实是为数组制定大小。
3.ensureCapacity方法,实现对数组的扩容(其实使用的是Arrays.copyOf进行操作的)。
4.add方法,插入指定位置数据。(System.arraycopy),再将指定位置替换所需插入的值
5.remove方法,核心算法也是System.arraycopy
6.System.arraycopy实现对数组指定位置的数据复制算法。
7.retainAll是保留俩个集合不相同的对象。removeAll保留不相同的对象。
模拟代码,可自行进入debug模式进行跟踪。
import java.util.ArrayList;
import java.util.List;
public class TestArrayList {
public static void main(String[] args) {
List list = new ArrayList(5);
for(int i = 0;i<10;i++ ){
list.add(i);
}
// list.add(7,"A7");
// list.add(5,"A5");
// list.remove(7);
// list.remove(o)
}
}