Back to questions
Junior — Middle
65
Возможно ли использовать собственный объект в цикле for-each как элемент итерации?
Answer from AI
sobes.tech AI
Да, собственный объект можно использовать в цикле for-each, если он реализует интерфейс Iterable или является массивом.
Для этого класс должен реализовать метод iterator(), возвращающий объект типа Iterator. Например:
import java.util.Iterator;
class MyCollection implements Iterable<String> {
private String[] data = {"one", "two", "three"};
@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++];
}
};
}
}
public class Main {
public static void main(String[] args) {
MyCollection collection = new MyCollection();
for (String item : collection) {
System.out.println(item);
}
}
}
В этом примере MyCollection можно использовать в for-each, так как он реализует Iterable.