gpt4 book ai didi

java - 从数组列表中删除元素

转载 作者:行者123 更新时间:2023-12-01 11:22:12 25 4
gpt4 key购买 nike

谁能解释一下 ArrayListremove() 是如何工作的?

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

我做错了什么?

最佳答案

list.remove(i); 移动被删除元素后面的所有元素的索引。因此,在调用 list.remove(0) 后,位置 1 处的前一个元素将移动到位置 0,并且循环将永远不会删除它,因为 i 会递增。正如您所看到的,您的循环将只删除一半的元素。

此循环将删除所有元素:

while(list.size()>0)
{
list.remove(0);
}

关于java - 从数组列表中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31099026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com