Встречается на собеседованиях • сегодня
В чем разница между интерфейсами Iterator и Iterable
`Iterable` - интерфейс, который означает, что объект может быть итерирован. Содержит метод `iterator()`, возвращающий `Iterator`. Реализуется коллекциями (List, Set и др.).
`Iterator` - интерфейс для обхода элементов. Содержит методы:
- `hasNext()` - проверяет наличие следующего элемента
- `next()` - возвращает следующий элемент
- `remove()` (опционально) - удаляет текущий элемент
Пример:
```java
List list = Arrays.asList("a", "b", "c");
// Iterable usage
for (String s : list) { ... }
// Iterator usage
Iterator it = list.iterator();
while (it.hasNext()) {
String s = it.next();
if (s.equals("b")) it.remove();
}
```
Главное отличие: `Iterable` - это источник итерации, `Iterator` - сам механизм итерации. `Iterable` можно использовать в for-each, `Iterator` - для ручного управления итерацией.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы