logo

Цикл Java forEach

Java надає новий метод forEach() для повторення елементів. Він визначений в інтерфейсі Iterable та Stream. Це стандартний метод, визначений в інтерфейсі Iterable. Класи колекції, які розширюють інтерфейс Iterable, можуть використовувати цикл forEach для повторення елементів.

Цей метод приймає єдиний параметр, який є функціональним інтерфейсом. Отже, ви можете передати лямбда-вираз як аргумент.


Підпис forEach() в ітерованому інтерфейсі

 default void forEach(Consumeraction) 

Java 8 forEach() приклад 1

 import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression--------------'); gamesList.forEach(games -> System.out.println(games)); } } 

Вихід:

 ------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky 

Java 8 forEach() приклад 2

 import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing method reference---------------'); gamesList.forEach(System.out::println); } } 

Вихід:

 ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky 

Метод Java Stream forEachOrdered().

Окрім методу forEach(), Java надає ще один метод forEachOrdered(). Він використовується для повторення елементів у порядку, визначеному потоком.

Підпис:

 void forEachOrdered(Consumer action) 

Приклад методу Java Stream forEachOrdered().

 import java.util.ArrayList; import java.util.List; public class ForEachOrderedExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression---------------'); gamesList.stream().forEachOrdered(games -> System.out.println(games)); System.out.println('------------Iterating by passing method reference---------------'); gamesList.stream().forEachOrdered(System.out::println); } } 

Вихід:

 ------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky