Sobes.tech
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);
}