[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-chem-razlichayutsya-enumeration-i-iterator":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},431,"chem-razlichayutsya-enumeration-i-iterator",12,"collections","Collections","📚","Чем различаются Enumeration и Iterator","`Enumeration` — это устаревший интерфейс для обхода коллекций, появившийся в Java 1.0, тогда как `Iterator` — его современная замена из Java 1.2, предоставляющая более чистый API и возможность удаления элементов.\n\n| Характеристика | Enumeration | Iterator |\n|---|---|---|\n| Версия Java | 1.0 | 1.2 |\n| Проверка наличия | `hasMoreElements()` | `hasNext()` |\n| Получение элемента | `nextElement()` | `next()` |\n| Удаление элемента | Нет | `remove()` |\n| Используется в | Vector, Stack, Hashtable | Все современные коллекции |\n| Fail-fast | Нет | Да |\n\n`Enumeration` до сих пор встречается в legacy-коде и в некоторых API (например, `ServletRequest.getParameterNames()`), но для нового кода следует использовать только `Iterator` или конструкцию for-each.\n\n> **На собеседовании:** достаточно назвать три отличия: имена методов, наличие remove() и привязка к legacy-классам. Покажите, что знаете, где Enumeration ещё встречается.","","junior",[15,16],"основы","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":33,"featuredSnippetReady":34},"Различия между Enumeration и Iterator в Java — Gymterview","Сравнение Enumeration и Iterator: имена методов, возможность удаления, fail-fast поведение, привязка к legacy-классам Vector, Stack, Hashtable.","Enumeration vs Iterator в Java — Gymterview","Iterator — современная замена Enumeration с remove(), fail-fast и читаемыми именами методов.",[25,26,27,28,29,30,31,32],"Enumeration","Iterator","hasMoreElements","hasNext","remove","Vector","Java","собеседование","Enumeration (Java 1.0) — устаревший, без remove(), не fail-fast, привязан к Vector\u002FHashtable. Iterator (Java 1.2) — поддерживает remove(), fail-fast, используется во всех современных коллекциях. Имена методов: hasMoreElements\u002FnextElement vs hasNext\u002Fnext.",true]