[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-sravnite-iterator-i-listiterator":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},434,"sravnite-iterator-i-listiterator",12,"collections","Collections","📚","Сравните Iterator и ListIterator","`ListIterator` — это расширение интерфейса `Iterator`, предназначенное исключительно для списков (`List`), добавляющее возможность двунаправленного обхода и модификации элементов.\n\n| Возможность | Iterator | ListIterator |\n|---|---|---|\n| Направление обхода | Только вперед (next()) | Вперед и назад (next(), previous()) |\n| Применимость | Любая Collection | Только List |\n| Добавление элементов | Нет | add() |\n| Замена элементов | Нет | set() |\n| Удаление элементов | remove() | remove() |\n| Получение индекса | Нет | nextIndex(), previousIndex() |\n\nТекущая позиция `ListIterator` находится не на элементе, а между элементами. Методы `previous()` и `next()` возвращают элемент, через который курсор перешагивает. Получить `ListIterator` можно через `list.listIterator()` или `list.listIterator(index)`, где index — начальная позиция курсора.\n\n> **На собеседовании:** назовите ключевые отличия: двунаправленный обход, add(), set() и работу только с List. Упомяните, что позиция ListIterator — между элементами.","","junior",[15,16],"interface","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":34,"featuredSnippetReady":35},"Сравнение Iterator и ListIterator в Java — Gymterview","ListIterator расширяет Iterator: двунаправленный обход, add(), set(), индексы. Работает только с List. Позиция курсора — между элементами.","Iterator vs ListIterator в Java — Gymterview","ListIterator: двунаправленный обход, add(), set(), nextIndex(), previousIndex(). Только для List.",[25,26,27,28,29,30,31,32,33],"Iterator","ListIterator","previous","next","add","set","List","Java","собеседование","ListIterator расширяет Iterator. Добавляет: двунаправленный обход (previous()), add(), set(), nextIndex(), previousIndex(). Работает только с List. Позиция курсора — между элементами, а не на элементе.",true]