Gymterview
junior

Чем различаются Enumeration и Iterator

Enumeration — это устаревший интерфейс для обхода коллекций, появившийся в Java 1.0, тогда как Iterator — его современная замена из Java 1.2, предоставляющая более чистый API и возможность удаления элементов.

Характеристика Enumeration Iterator
Версия Java 1.0 1.2
Проверка наличия hasMoreElements() hasNext()
Получение элемента nextElement() next()
Удаление элемента Нет remove()
Используется в Vector, Stack, Hashtable Все современные коллекции
Fail-fast Нет Да

Enumeration до сих пор встречается в legacy-коде и в некоторых API (например, ServletRequest.getParameterNames()), но для нового кода следует использовать только Iterator или конструкцию for-each.

На собеседовании: достаточно назвать три отличия: имена методов, наличие remove() и привязка к legacy-классам. Покажите, что знаете, где Enumeration ещё встречается.