gpt4 book ai didi

java - 如何从arrayList中删除元素

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

private static void printInvoice() {

for (int i = customerList.size()-1; i >= 0; i--) {
for(int n = taskChecker.size() -1; n >=0 ; i--){
System.out.println(customerList.get(i).getName());
customerList.get(i).invoiceForCustomer();
taskChecker.remove(n);

}
}

这是打印出来的内容:

Sven 9900 Task: Rosta knäck Date: 2014-02-11 Numbers of hours: 1
Tor 4950 Task: Rosta bröd Date: 2013-12-12 Numbers of hours: 1
Oden 4950 Task: Rosta bröd Date: 2013-12-12 Numbers of hours: 1

现在我想在打印完任务(Oden 4950 任务:Rosta bröd 日期:2013-12-12 小时数:1)后将其删除。我真的很困惑我应该如何做到这一点......

最佳答案

如果不使用迭代器,则无法从当前循环的列表中删除项目。它构成了一个ConcurrentModificationException。正如对您的问题的评论所述,请使用 Iterator 对象以允许从您正在操作的列表中删除。

作为Iterator用法的简单示例:

Iterator<Object> it = listOfObjects.iterator();
while (it.hasNext())
{
Object o = it.next();
it.remove(); <--- removes the last object returned from Iterator.next() from the underlying collection
}

关于java - 如何从arrayList中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991807/

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