logo

Java pentru fiecare buclă

Java oferă o nouă metodă pentru fiecare() pentru a repeta elementele. Este definit în interfața Iterable și Stream. Este o metodă implicită definită în interfața Iterable. Clasele de colecție care extind interfața Iterable pot folosi bucla forEach pentru a repeta elemente.

Această metodă ia un singur parametru care este o interfață funcțională. Deci, puteți trece expresia lambda ca argument.


Semnătura forEach() în interfața iterabilă

 default void forEach(Consumeraction) 

Java 8 forEach() exemplu 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)); } } 

Ieșire:

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

Java 8 forEach() exemplu 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); } } 

Ieșire:

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

Metoda Java Stream forEachOrdered().

Împreună cu metoda forEach(), Java oferă încă o metodă forEachOrdered(). Este folosit pentru a repeta elemente în ordinea specificată de flux.

semnatura:

 void forEachOrdered(Consumer action) 

Exemplu de metodă 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); } } 

Ieșire:

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