Назад к вопросам
Junior
75
questionbank

Как связаны интерфейсы Iterable и Iterator в Java?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

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);
}