а что в этом такое себе ?
Если тебе не нужна исходная версия коллекции, это в сравнении с iterator.remove расходует больше ресурсов же (и память, пусть и вероятно незначительно, и время).
Нет, если бы переписать это без этих затрат было сложно, я бы сам сказал "зачем вы оптимизируете заранее", но тут же, считай, одинаковое количество кода получается на "модифицировать исходную коллекцию через итератор" и "собрать копию старой коллекции, отфильтровав элементы".