jdk
源码详解之ArrayList
[updating…]
方法详解
remove
方法
remove
public E remove(int index)
Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).
Specified by:
remove in interface List<E>
Overrides:
remove in class AbstractList<E>
Parameters:
index - the index of the element to be removed
Returns:
the element that was removed from the list
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size())
- 注意一个问题,在这个移除操作之后,会将后续的元素将会左移。
所以如下的写法就是错误的:
for(int j = 0;j< lineNumber;j++) {
lists.remove(j);
}
这里的需求是:通过变换j的值,删除lists
中的数据。这样会导致删除错误的数据。正确的写法如下:
int j = 0;
while(j< lineNumber) {
lists.remove(0);//删除前 lineNumber 个元素
j++;
}