Назад к вопросам
Junior — Middle
99
Какие методы необходимо реализовать в классе, чтобы его объекты могли использоваться в цикле for-each?
Ответ от нейросети
sobes.tech AI
Чтобы объекты класса можно было использовать в цикле for-each в Java, класс должен реализовывать интерфейс Iterable<T>. Основным методом, который нужно реализовать, является:
Iterator<T> iterator();
Этот метод возвращает объект Iterator, который реализует методы:
boolean hasNext()— проверяет, есть ли следующий элемент.T next()— возвращает следующий элемент.
Пример:
import java.util.Iterator;
public class MyCollection implements Iterable<String> {
private String[] data = {"a", "b", "c"};
@Override
public Iterator<String> iterator() {
return new Iterator<String>() {
private int index = 0;
@Override
public boolean hasNext() {
return index < data.length;
}
@Override
public String next() {
return data[index++];
}
};
}
}
// Использование:
// for (String s : new MyCollection()) {
// System.out.println(s);
// }