3 回答
TA贡献1876条经验 获得超7个赞
add方法属于追加方法,就是向数组的尾部增加数据,但是用的是LinkList是可以头部增加数据的,使用方法addFirst(E element)就可以了。根据你的代码错误应该是这样的,一开始集合是长度是0,代表没有元素存在,那么这个下标为2的位置不存在,但是你却要这个位置后面增加数据,这样就错了,因为集合在这个时候还没有得到系统为下标为2的位置分配内存空间,程序执行的时候找不到这个为下标为2的位置,就是你增加的数据找不到地方摆,这样就错了。一般情况下就是使用add(E element)方法就可以了,这样add(int index, E element)方法的适合于在指定在某条数据后面追加数据(一般这条数据应该不是最后一条),就是说在这个集合里面我的数据已经填充好了,这个时候我要在其中的一条数据后面追加一条数据,那么我就用add(int index, E element)方法去追加数据,后面所存在数据就会被往后挤一个位置。
TA贡献1805条经验 获得超9个赞
public void add(int index, E element) {
if (index > size || index < 0)
throw new IndexOutOfBoundsException(
"Index: "+index+", Size: "+size);
ensureCapacity(size+1); // Increments modCount!!
System.arraycopy(elementData, index, elementData, index + 1,
size - index);
elementData[index] = element;
size++;
}
添加回答
举报