Ответ
Iterable — это корневой интерфейс в Java, представляющий объект, который можно перебирать (итерировать). Он является основой для цикла for-each.
Ключевые моменты:
- Объявляет единственный метод
Iterator<T> iterator(), который возвращает итератор для коллекции. - Все основные коллекции из Java Collections Framework (
List,Set,Queue) реализуют этот интерфейс. - Начиная с Java 8, содержит метод
default void forEach(Consumer<? super T> action)для внутренней итерации с лямбда-выражениями.
Пример использования:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("A", "B", "C");
Iterable<String> iterable = list; // List расширяет Iterable
// 1. Использование for-each (синтаксический сахар для iterator())
for (String s : iterable) {
System.out.println(s); // A, B, C
}
// 2. Использование forEach с лямбдой
iterable.forEach(item -> System.out.println(item));
}
}
Важно: Сам по себе Iterable не гарантирует порядок элементов — это зависит от конкретной реализации (например, ArrayList сохраняет порядок, а HashSet — нет).