Параллельное изменение происходит, когда вы изменяете коллекцию / список / карту, в то время как другая операция выполняется над той же коллекцией / списком / картой.
Например,
List<String> list = Arrays.asList("yes", "no", "maybe");
for(String string : list) { //operation 1 - list iteration
list.add("definitely not"); //operation 2 - add to list -- will throw concurrent modification exception because operation 1 is still pending.
}
Для вашего Сценарий, чтобы исправить это, удалите
ListIterator<String> simpleIterator
в качестве глобальной переменной и инициализируйте ее после добавления элементов в список со сканера.
private static void spellOutput() {
ListIterator<String> simpleIterator = simpleList.listIterator(0);
System.out.println("Here are the items from your list: ");
do {
System.out.println(simpleIterator.next());
} while(simpleIterator.hasNext());
}
И вот вам go, больше нет исключений одновременной модификации