Sobes.tech
Назад к вопросам
Senior
4

В чём отличие Iterable от Iterator?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

В Java Iterable — это интерфейс, который представляет коллекцию объектов, по которой можно пройтись с помощью цикла for-each. Он содержит один метод iterator(), который возвращает объект Iterator.

Iterator — это интерфейс, который предоставляет методы для последовательного обхода элементов коллекции: hasNext(), next() и опционально remove().

Иными словами:

  • Iterable — это коллекция, которую можно итерировать.
  • Iterator — это объект, который выполняет сам обход элементов коллекции.

Пример:

List<String> list = Arrays.asList("a", "b", "c");
Iterable<String> iterable = list;
Iterator<String> iterator = iterable.iterator();

while (iterator.hasNext()) {
    System.out.println(iterator.next());
}