Junior
102
questionbank
Как связаны интерфейсы Iterable и Iterator в Java?
Ответ от нейросети
sobes.tech AI
Iterable представляет контракт для объектов, содержимое которых можно перебирать. Он содержит один метод iterator(), который возвращает объект типа Iterator.
Iterator предоставляет методы для последовательного доступа к элементам коллекции: hasNext() проверяет наличие следующего элемента, next() возвращает следующий элемент, а remove() (опционально) удаляет последний элемент, возвращенный next().
Таким образом, Iterable определяет, что объект является перечисляемым, а Iterator предоставляет механизм для фактического перебора элементов.
// Пример использования
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
// names является Iterable
Iterator<String> iterator = names.iterator(); // Получаем Iterator
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}