Класс Iterable
Класс Iterable - это фундаментальный интерфейс из пакета java.lang, который реализуют все коллекции и структуры данных, поддерживающие перебор элементов. Он содержит единственный абстрактный метод iterator, возвращающий объект типа Iterator, а также предоставляет методы по умолчанию для обхода элементов. Реализация этого интерфейса позволяет использовать объект в цикле for-each.
Синтаксис
public interface Iterable<T>
{
Iterator<T> iterator();
default void forEach(Consumer<? super T> action);
default Spliterator<T> spliterator();
}
Пример
Давайте создадим список, реализующий интерфейс Iterable, и переберём его элементы с помощью цикла for-each:
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c", "d", "e");
for (String elem : list)
{
System.out.println(elem);
}
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Пример
Давайте используем метод iterator для получения итератора и ручного перебора элементов списка:
import java.util.List;
import java.util.Iterator;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3, 4, 5);
Iterator<Integer> iter = list.iterator();
while (iter.hasNext())
{
System.out.println(iter.next());
}
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте используем метод forEach для выполнения действия над каждым элементом списка:
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c", "d", "e");
list.forEach(elem -> System.out.println(elem));
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Смотрите также
-
метод
iterator,
который возвращает итератор для перебора элементов -
метод
forEach,
который выполняет действие для каждого элемента -
интерфейс
Iterator,
который предоставляет методы для обхода коллекции -
интерфейс
Comparable,
который определяет естественный порядок сортировки объектов