Назад к вопросам
Junior — Middle
79
Что такое интерфейс Iterable в Java и каковы его достоинства и недостатки?
Ответ от нейросети
sobes.tech AI
Интерфейс Iterable<T> в Java представляет коллекцию объектов, по которой можно итерироваться с помощью цикла for-each. Он определяет один метод iterator(), который возвращает объект Iterator<T>, позволяющий последовательно получать элементы коллекции.
Достоинства:
- Позволяет использовать удобный синтаксис
for-eachдля перебора элементов. - Универсален: многие коллекции и структуры данных реализуют
Iterable, что обеспечивает совместимость. - Обеспечивает абстракцию итерации, скрывая детали реализации.
Недостатки:
- Не поддерживает произвольный доступ к элементам (например, по индексу).
- Итератор может быть одноразовым, после полного обхода коллекции его нельзя использовать повторно без создания нового.
- Не гарантирует потокобезопасность, если коллекция изменяется во время итерации.
Пример использования:
List<String> list = Arrays.asList("a", "b", "c");
for (String s : list) {
System.out.println(s);
}