Sobes.tech
Назад к вопросам
Junior — Middle
64

Можно ли использовать цикл For-Each для итерации по объекту, который не реализует интерфейс коллекции или не является массивом?

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

sobes.tech AI

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

Например, следующий код сработает:

List<String> list = Arrays.asList("a", "b", "c");
for (String s : list) {
    System.out.println(s);
}

А если у вас есть объект, который не реализует Iterable, то для итерации нужно использовать другие способы, например, классический цикл с индексами (если это массив) или получить итератор, если это возможно.

Если нужно использовать for-each для своего класса, можно реализовать интерфейс Iterable и определить метод iterator().