1
我看看ArrayList的源代碼,發現remove方法如下:的ArrayList remove方法
/**
* Removes the element at the specified position in this list.
* Shifts any subsequent elements to the left (subtracts one from their
* indices).
*
* @param index the index of the element to be removed
* @return the element that was removed from the list
* @throws IndexOutOfBoundsException {@inheritDoc}
*/
public E remove(int index) {
if (index >= size)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
modCount++;
E oldValue = (E) elementData[index];
int numMoved = size - index - 1;
if (numMoved > 0)
System.arraycopy(elementData, index+1, elementData, index,
numMoved);
elementData[--size] = null; // clear to let GC do its work
return oldValue;
}
爲什麼它不考慮這種情況,當指數< 0?
哇,很清楚。謝謝。 – jemy
不能upvote.vote施放的聲望低於15的人是紀錄,但不要改變公開顯示的帖子得分 – jemy