Iterator.remove()
безопасно, можно использовать его как это:
List list = new ArrayList<>();
// This is a clever way to create the iterator and call iterator.hasNext() like
// you would do in a while-loop. It would be the same as doing:
// Iterator iterator = list.iterator();
// while (iterator.hasNext()) {
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String string = iterator.next();
if (string.isEmpty()) {
// Remove the current element from the iterator and the list.
iterator.remove();
}
}
Примечание, что Iterator.remove()
единственный безопасный способ изменить набор во время повторения; поведение является неуказанным, если базовый набор изменяется каким-либо другим способом , в то время как повторение происходит.
Источник: docs.oracle> Интерфейс Набора
И точно так же если Вы имеете ListIterator
и хотите к [1 112], добавляет объекты, можно использовать ListIterator#add
по той же причине, которую можно использовать Iterator#remove
— это разработано для разрешения его.
В Вашем случае Вы пытались удалить из списка, но то же ограничение применяется при попытке к put
в Map
при итерации его содержания.
У меня были некоторые проблемы при использовании Access-Control-Allow-Origin: *. Я полагаю, что это как-то связано с cookie-файлами и предварительным запросом (POST). Поэтому лучше указать, с какого домена вы собираетесь совершать эти звонки.