关于ArrayList 空间,指针,遍历的问题

ArrayList 中初始空间为10,但只添加2个数据进行遍历,多出的空间为什么不会被遍历
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);
        }
    }
}

img

源码中 size 随着添加的对象数量累加,是不是size限制了指针所能达到位置

hasNext 根据 list的size去判断是否还有下一个元素,增加一个元素 size+1,加两个就有两个,所以循环两次结束

img

初始空间只是理论上存的最大个数,跟实际你存多少没多大关系。
ArrayList底层是数组,size实际上是数组的size,再者,size和指针的关系是这样的,size 可以理解为初始指针的偏移量,比如初始指针是0,那么这个指针可以移动的最大值就是size-1.

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^