【发布时间】:2015-09-14 22:24:00
【问题描述】:
谁能解释remove() 的ArrayList 是如何工作的?
public class ListTest {
public static void main(String[] args) {
List list = new ArrayList();
for(int i=0;i<10;i++)
{
list.add(i);
}
System.out.println("Size of list before removing :"+list.size());
for(int i=0;i<list.size();i++)
{
list.remove(i);
}
System.out.println("Size of list after removing all elements :"+list.size());
}
}
输出
删除前的列表大小:10
删除所有元素后的列表大小:5
我做错了什么?
【问题讨论】:
-
Remove 将删除所有索引的所有值,但 arraylist 大小将保持不变。如果您使用
list.remove() withlist.trimToSize()`,那么list.size()也将为零。 -
@Clairvoyant "Remove 将删除所有索引的所有值,但 arraylist 大小将保持不变。" 内部数组的大小,但不是 @987654327 的返回值@。 OP 的问题是他没有删除所有元素。
-
想到
clear()? -
@Anuj FYA- 观察到您提出了 3 个问题但不接受答案。如果提供的答案都没有回答您的问题或对您有帮助,并且您有自己的答案,请发布它,以便其他人可以从中受益。
标签: java arraylist collections core