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 ещё встречается.