Метод forEach
Метод forEach класса Iterable выполняет
заданное действие для каждого элемента коллекции.
В единственный параметр мы передаем функциональный
интерфейс Consumer, который принимает один
аргумент и не возвращает результат. Метод вызывается
для каждого элемента по очереди в порядке обхода
итератора. Если коллекция пуста, действие не
выполняется ни разу.
Синтаксис
iterable.forEach(action)
Пример
Давайте выведем каждый элемент списка в консоль:
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(System.out::println);
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Пример
Давайте передадим в метод лямбда-выражение,
которое выведет элементы, умноженные на 2:
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3, 4, 5);
list.forEach(n -> System.out.println(n * 2));
}
}
Результат выполнения кода:
2
4
6
8
10
Пример
Давайте накопим сумму элементов списка с помощью
метода forEach и изменяемой переменной:
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3, 4, 5);
AtomicInteger res = new AtomicInteger(0);
list.forEach(n -> res.addAndGet(n));
System.out.println(res.get());
}
}
Результат выполнения кода:
15
Смотрите также
-
интерфейс
Iterable,
который представляет перебираемую коллекцию -
метод
iterator,
который возвращает итератор по элементам -
метод
spliterator,
который возвращает разделитель элементов -
метод
forEachRemaining,
который выполняет действие для оставшихся элементов