Назад к вопросам
Junior
134
questionbank
Что такое интерфейс Iterable в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Iterable<T> — это интерфейс в Java, который позволяет объектам стать "итерируемыми", то есть по ним можно пройтись с помощью цикла for-each. Он сообщает, что класс, реализующий этот интерфейс, может возвращать Iterator.
Ключевые моменты:
- Содержит единственный абстрактный метод
iterator(), который возвращает объект типаIterator<T>. - Обеспечивает поддержку enhanced for loop (
for-each). - Является родителем для интерфейса
Collection. Все реализацииCollection(такие какArrayList,HashSet,LinkedList) реализуютIterableи, следовательно, доступны для итерации.
Пример использования:
// Пример класса, реализующего Iterable
import java.util.Iterator;
class MyIterableCollection<T> implements Iterable<T> {
private T[] items;
private int size;
// конструктор и методы добавления...
@Override
public Iterator<T> iterator() {
return new MyIterator();
}
// Внутренний класс итератора
private class MyIterator implements Iterator<T> {
private int currentIndex = 0;
@Override
public boolean hasNext() {
return currentIndex < size;
}
@Override
public T next() {
return items[currentIndex++];
}
}
}
// Использование в for-each цикле
class Main {
public static void main(String[] args) {
MyIterableCollection<String> collection = new MyIterableCollection<>();
// Добавление элементов...
for (String item : collection) {
System.out.println(item); // Можно итерировать благодаря Iterable
}
}
}