Вызов удалить в цикле foreach в Java [duplicate]

На этот вопрос уже есть ответ:

Итерация по Коллекции, исключение ConcurrentModificationException при удалении объектов в цикле 23 ответа

В Java разрешено ли вызывать метод удаления для коллекции при выполнении итерации по коллекции с использованием цикла foreach? Например

List<String> names = ....
for (String name : names) {
   // Do something
   names.remove(name).
}

В качестве дополнения, законно ли удалять элементы, которые еще не были повторены? Например

//Assume that the names list as duplicate entries
List<String> names = ....
for (String name : names) {
    // Do something
    while (names.remove(name));
}

Ответы на вопрос(11)

Ваш ответ на вопрос