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++;
}
添加回答
舉報