本文是阅读《Java编程的逻辑》进行的学习笔记总结,如有错误望各位指正
ArrayList
用法
ArrayList是一个动态数组泛型容器,新建ArrayList需要实例化泛型参数,如:
ArrayList<String> al = new ArrayList<String>();
同时写有增删改查的各种方法,在这里就不一一解释了
原理
ArrayList内部有一个数组elementData和一个整数size,ArrayList的各种public方法内部操作都是基于这个数组和这个整数,elementData会随着实际元素个数的增多而重新分配,而size始终记录实际元素的个数,要注意的是,类似于add,remove这些方法都会用modCount来记录内部的修改次数,要记录修改次数的原因,下面的[迭代的陷阱中]解释
迭代
ArrayList实现了Iterable接口,所以支持foreach语法。
Iterable接口里面实现了iterator()方法,iterator()方法返回的是一个Iterator对象,实际就是使用Iterator接口的方法进行遍历。也就是说