Работа с итерируемыми объектами в Java
Java Iterable - это интерфейс, который позволяет объектам иметь возможность перебора элементов в коллекции.
Он определяет метод iterator(), который возвращает объект Iterator, который используется для перебора элементов в коллекции. Iterator позволяет проходить по элементам коллекции последовательно, без изменения самой коллекции.
Например, представим, что у нас есть коллекция чисел типа Integer:
List
numbers.add(1);
numbers.add(2);
numbers.add(3);
Чтобы перебрать элементы коллекции, мы можем использовать цикл for-each и интерфейс Iterable:
for (Integer number : numbers) {
System.out.println(number);
}
В этом цикле мы перебираем элементы в коллекции чисел и печатаем каждое число на консоль.
Также, если мы создадим свой класс, мы можем сделать его итерируемым, реализуя интерфейс Iterable. Например, предположим, что у нас есть класс Person:
public class Person implements Iterable
private List
public void addName(String name) {
names.add(name);
}
public Iterator
return names.iterator();
}
}
Мы реализовали интерфейс Iterable и определили метод iterator(), который возвращает итератор для перебора имен в нашем списке имен.
Теперь мы можем создать объект Person и перебрать имена в цикле for-each:
Person person = new Person();
person.addName("John");
person.addName("Marry");
person.addName("Mike");
for (String name : person) {
System.out.println(name);
}
Этот цикл перебирает имена в нашем объекте Person и печатает каждое имя на консоль.
Таким образом, интерфейс Iterable в Java позволяет объектам иметь возможность перебора элементов в коллекции, что делает код более удобным и универсальным.