page contents

ArrayList在通过add添加元素时,是先赋值还是先对下标进行自增

Pack 发布于 2019-12-25 15:14
阅读 703
收藏 0

public boolean add(E e) {

ensureCapacityInternal(size + 1); // Increments modCount!!

elementData[size++] = e;

return true;

}

问题:集合的下标是从0开始的,假设ArrayList是一个刚new出来的集合,那么size默认为0。在第一次添加元素的时候,会按照默认的10的长度创建一个集合。那么在进行第一次赋值的时候elementData[size++]里面的下标是size还是size+1?

个人觉得应该是elementData[0]=e才对,但是为什么是这样就搞不明白了。

20
Pack
Pack

你这个是对先+和后+没搞清楚,"size++"是后加,是先操作再自增。在这个描述中size默认为0,elementData[size++]=elementData[0],然后size+1.

请先 登录 后评论