ArrayList异常[重复]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

所以我目前正在测试ArrayList并使用下面的代码,我总是在第23行得到一个java.util.ConcurrentModificationException。我阅读了文档并说明了

一个线程通常不允许修改Collection而另一个线程迭代它

但我不是在迭代它时修改集合,我事先这样做,所以我不知道我在这里做错了什么。

public class Test {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> a = new ArrayList<String>();
        ListIterator<String> lt = a.listIterator();
        System.out.print("Enter a word: ");
        String s = scanner.nextLine();

        while (!s.equals("")) {
            a.add(s);
            System.out.print("Enter another word: ");
            s = scanner.nextLine();
        }

        while (lt.hasNext()) {
            String z = lt.next(); // line 23
            System.out.println(z);
        }
    }
}
java arraylist
1个回答
2
投票

但是,您已经在添加到ArrayList的循环之前创建了迭代器。将迭代器的创建移动到第一个循环之后。

© www.soinside.com 2019 - 2024. All rights reserved.