Java 能帮助某人吗。解释为什么会发生这种异常

Java 能帮助某人吗。解释为什么会发生这种异常,java,eclipse,exception,Java,Eclipse,Exception,如果没有显示,请将字符串更改为delete(remove)save,然后重试。 日食朱诺 我尝试使用new String(),而不是文字,结果也是一样 链接中的PrintScreen-您在对列表进行迭代时正在修改列表-这不起作用。您可以尝试使用正常的for循环(使用索引,而不是foreach循环)从后向前迭代它,并在从后向前迭代时删除它。使用迭代器 List<String> list=new ArrayList<>(); list.add("aaa");

如果没有显示,请将字符串更改为delete(remove)save,然后重试。 日食朱诺

我尝试使用new String(),而不是文字,结果也是一样


链接中的PrintScreen-

您在对列表进行迭代时正在修改列表-这不起作用。您可以尝试使用正常的
for
循环(使用索引,而不是
foreach
循环)从后向前迭代它,并在从后向前迭代时删除它。

使用
迭代器

   List<String> list=new ArrayList<>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.add("ccc");
    list.add("ddd");

    Iterator<String> iterator=list.iterator();
    while (iterator.hasNext()){
        if("ddd".equals(iterator.next())){
            iterator.remove();
        }
    }
    System.out.println(list);

出现此问题的原因是,您正在对列表进行迭代,同时试图对其进行操作,
ArrayList
不支持means

检测集合中的修改和分析集合不是同步完成的。 这种行为称为
快速失败迭代器

失败快速迭代器的示例有
ArrayList
HashSet

    [aaa, bbb, ccc, ccc]