gpt4 book ai didi

java - 从 ArrayList 中删除一个元素

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

我正在尝试使用 ArrayList 和 for 循环删除字符串匹配“Meg”。到目前为止,我已经编写了下面的代码,但不确定为什么它不起作用。我认为问题出在下面的 while 循环

while((customerName.get(i)).equals("Meg"))
{
customerName.remove(i);
}

提前致谢。

完整代码如下:

import java.util.ArrayList;
public class CustomerLister2
{
public static void main(String[] args)
{
ArrayList<String> customerName = new ArrayList<String>();
customerName.add("Chris");
customerName.add("Lois");
customerName.add("Meg");
customerName.add("Peter");
customerName.add("Stewie");
customerName.add(3, "Meg");
customerName.add(4, "Brian");

int currentSize = customerName.size();

for(int i = 0; i < currentSize - 1; i++)
{

while((customerName.get(i)).equals("Meg"))
{
customerName.remove(i);
}
}
for(String newStr: customerName)
{
System.out.println(newStr);
}
}
}

最佳答案

改成下面的

for(int i = 0; i < currentSize; i++)
{
if((customerName.get(i)).equals("Meg"))
{
customerName.remove(i);
i--; //because a new element may be at i now
currentSize = customerName.size(); //size has changed
}
}

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

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