Основные отличия между Iterator и Iterable в Java:
- Iterable представляет собой последовательность элементов, которую можно перебрать. sky.pro Он не имеет никакого итерационного состояния, такого как «текущий элемент». dan-it.gitlab.io Вместо этого он имеет один метод, который создаёт Iterator. dan-it.gitlab.io
- Iterator — это средство для итераций, позволяющее пройти через всю коллекцию, останавливаясь на каждом элементе с помощью next(). sky.pro Он сохраняет своё собственное состояние и не подвержен воздействию других итераторов. sky.pro
Кроме того, Iterator предоставляет гибкость управления коллекцией в процессе итерации, позволяя вставлять, удалять и изменять элементы. sky.pro
Таким образом, Iterable описывает саму последовательность, а Iterator — как по ней итерироваться, предоставляя методы для перемещения по элементам и удаления их из коллекции. sky.pro ru.stackoverflow.com