public class ArrayListSource {
public static void main(String[] args) {
//创建 ArrayList 对象
ArrayList arrayList = new ArrayList();
//添加对象
arrayList.add(100);
arrayList.add(200);
//获取迭代器
Iterator it = arrayList.iterator();
//对对象进行迭代
while (it.hasNext()) {
Object o = it.next();
System.out.println(o);
}
}
}
hasNext 根据 list的size去判断是否还有下一个元素,增加一个元素 size+1,加两个就有两个,所以循环两次结束
初始空间只是理论上存的最大个数,跟实际你存多少没多大关系。
ArrayList底层是数组,size实际上是数组的size,再者,size和指针的关系是这样的,size 可以理解为初始指针的偏移量,比如初始指针是0,那么这个指针可以移动的最大值就是size-1.