Пыталась решить с for each, не проходил по последнему пункту: for (Integer elem : set) { if (elem.compareTo(10) > 0) { set.remove(elem); } } Прочитав комментарии, переделала с итератором - все заработало: Iterator<Integer> iterator = set.iterator(); while(iterator.hasNext()){ if (iterator.next()>10) iterator.remove(); } Вопрос, почему нельзя реализовать с for each, если в лекциях было написано, что в данной конструкции неявно используется итератор. Или может есть какой-то способ удаления в цикле for each не вызывая метод remove из самой коллекции?