java - 使用 INDEX 删除 ArrayList 中的元素导致 java.util.ConcurrentModificationException

标签 java arraylist

以下代码导致

java.util.ConcurrentModificationException

我不知道如何解决这个错误,请帮忙!

ArrayList strList =  new ArrayList<String>(Arrays.asList(cmd.split(" ")));

        if (strList.get(0).equals("LIST")) {

        }

        if (strList.get(0).equals("DEPEND")) {
            strList.remove(0); // getting error at this point 
            cm.createComponent(strList);

        }

完整方法外层循环与List无关

public static void main(String[] args) throws IOException {
        ComponentManager cm = new ComponentManager();

    List<String> lines = Files.readAllLines(Paths.get("cmdList.txt"));
    for (String cmd : lines) {
        ArrayList strList =  new ArrayList<String>(Arrays.asList(cmd.split(" ")));

        if (strList.get(0).equals("LIST")) {

        }

        if (strList.get(0).equals("DEPEND")) {
            strList.remove(0);
            cm.createComponent(strList);

        }

        if (strList.get(0).equals("INSTALL")) {

        }

        if (strList.get(0).equals("REMOVE")) {

        }

    }

}

最佳答案

您可以创建一个不同的 ArrayList 并在那里执行删除操作,或者在 arrayList 上放置一个迭代器并使用迭代器进行删除。

找到一些可能解决您问题的方法 herehere .

关于java - 使用 INDEX 删除 ArrayList 中的元素导致 java.util.ConcurrentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717058/

相关文章:

java - 使用 SwingWorker 在 JTextPane 中突出显示语法

java - 将整数添加到 ArrayList 时

android - 如何从 Arraylist 中获取 20 20 20 个值?

java - 在 Windows 上使用 Eclipse/Subversive 重命名 Java 文件的最佳实践

java - 微调器以 XML 格式显示但在加载应用程序时不显示

Java错误: TicTacToe game with arrayList for buttons

java - 在不同的方法中访问和使用自定义对象和 ArrayList<Object>

java - 如何从句子中的数组列表中获取首次出现的任何单词的索引

java - Eclipse 有没有办法让多个数组中的值保持对齐?

java - jee6 和 jee7 中的自定义标记文件