java arraylist遍历删除_java – 删除arraylist中的每个第3个元素

博主尝试在一个ArrayList中每3个索引删除一个元素,期望当到达末尾时能重新从头开始并继续删除,但遇到了'IndexOutOfBoundsException'异常。问题出现在ArrayList的遍历和删除逻辑上,导致在删除不存在的元素时出错。博客讨论了这个问题并寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我试图循环一个arraylist并逐渐删除每3个索引元素.一旦它到达arraylist的末尾,我想将索引重置回到开头,然后再次循环遍历arraylist,再次每3个索引删除一个元素,直到arraylist中只剩下一个元素.

listOfWords是一个长度为3的数组,之前已填充.

int listIndex = 0;

do

{

// just to display contents of arraylist

System.out.println(listOfPlayers);

for(int wordIndex = 0; wordIndex < listOfWords.length; wordIndex++

{

System.out.print("Player");

System.out.print(listOfPlayers.get(wordIndex));

System.out.println("");

listIndex = wordIndex;

}

listOfPlayers.remove(listOfPlayers.get(listIndex));

}

while(listOfPlayers.size() > 1);

我试图实施几个小时但我仍然遇到麻烦.这是arraylist的元素发生了什么:

1, 2, 3, 4

1, 2, 4

1, 2

然后它在检查第三个元素(不再存在)时抛出’index out of bounds error’异常.一旦它到达最后一个元素,我希望它环绕到第一个元素并继续通过数组.我也希望它从它停止的地方开始,而不是从一开始就从arraylist中删除一个元素.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值