Sobes.tech
Back to questions
Junior — Middle
95

Могли бы вы объяснить назначение и принцип работы интерфейса Iterable в программировании?

Answer from AI

sobes.tech AI

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

Принцип работы:

  • Интерфейс содержит метод iterator(), который возвращает объект типа Iterator.
  • Итератор позволяет последовательно получать элементы коллекции через методы hasNext() и next().

Пример реализации:

import java.util.Iterator;

class MyCollection implements Iterable<String> {
    private String[] data = {"A", "B", "C"};

    public Iterator<String> iterator() {
        return new Iterator<String>() {
            private int index = 0;

            public boolean hasNext() {
                return index < data.length;
            }

            public String next() {
                return data[index++];
            }
        };
    }
}

// Использование
MyCollection coll = new MyCollection();
for (String s : coll) {
    System.out.println(s);
}

Таким образом, Iterable упрощает перебор элементов и делает код более читаемым и универсальным.