Foreach - это механизм для работы с элементами коллекции, а не с самой коллекцией. Использование foreach для модификации коллекции - это уже не правильно. А писать костыли и велосипеды, чтобы «расширить возможности» конструкций языка - и совсем плохая затея.
Вот один из классических подходов работы с итераторами:
for (Iterator<Integer> it = set.iterator(); it.hasNext(); ) {
if (it.next() % 2 == 0) {
it.remove();
}
}
]
Взято отсюда:
https://habr.com/post/325426/#comment_10149968
Обратите внимание, что для mediawiki существует прелесть juju, хотя она предназначена для установки более высокого масштаба, которая будет иметь несколько веб-головок и выделенных экземпляров для MySQL, memcached и т. д. Чтобы использовать ее, вы можете установить и настроить juju (см. https : //juju.ubuntu.com/docs/), а затем введите
juju bootstrap
juju deploy mediawiki mywiki
juju deploy mysql wiki-db
juju add-relation wiki-db mywiki
juju expose mywiki
Это приведет к запуску трех экземпляров EC2 (1 сервер juju, 1 mediawiki, 1 mysql). Вы можете запустить его и на одном, если вы добавите 'placement: local' в ваш environment.yaml, но это недокументированный хак, который может быть удален.
Это должно привести к запуску рабочей рабочей среды в адрес сервера mediawiki (отображается, набрав juju status mywiki). Если вы также добавите memcached, он сильно изменится с помощью juju add-unit mywiki.