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