Дополнительно
Как добавить элемент в список во время итерации в java?
Допустим, у меня есть список типа:
List<String> list = new ArrayList<>();
list.add("a");
list.add("h");
list.add("f");
list.add("s");
Во время итерации по этому списку я хочу добавить элемент в конец списка. Но я не хочу выполнять итерацию по вновь добавленным элементам, то есть я хочу выполнять итерацию до начального размера списка.
for (String s : list)
/* Here I want to add new element if needed while iterating */
Может ли кто-нибудь подсказать мне, как я могу это сделать?
27
3
Итерация по копии списка и добавление новых элементов в исходный список.
См. https://stackoverflow.com/questions/3410035/how-to-make-a-copy-of-arraylist-object-which-is-type-of-list
Просто выполняйте итерацию по старинке, потому что вам нужна явная обработка индексов:
Вы можете выполнять итерации над копией (клоном) вашего исходного списка:
Обратите внимание, что даже невозможно добавить новый элемент в список во время итерации по нему, потому что это приведет к
ConcurrentModificationException
.