gpt4 book ai didi

java - 引用数组列表中的元素,同时删除一些元素

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

我有一个 for 循环,循环遍历 arrayList 中的每个元素,对它们执行 someMethod() ,具体取决于该方法的结果,我想保留或从列表中删除该元素。例如:

int returnResult;
for (int i=0;i<4;i++){
returnResult = someMethod(arrayList.get(i));
if (returnResult == -1){
arrayList.remove(i);
}
}

我的问题是;如果我在列表中有 5 个元素,并且在循环的第二次迭代中(因此当 i=1 时),我会删除该元素,当我进行第三次迭代时, arrayList.get(2) 将引用实际的内容第四元素?即它会立即减少堆栈大小吗?

最佳答案

是的,确实如此。为了解决这个问题,您可以反向迭代数组。

int returnResult;
for (int i=3;i>=0;i--){
returnResult = someMethod(arrayList.get(i));
if (returnResult == -1){
arrayList.remove(i);
}
}

这会将它们从末尾弹出,并且不会影响剩下的元素。

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

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