logo

Java voor elke lus

Java biedt een nieuwe methode forEach() om de elementen te herhalen. Het wordt gedefinieerd in de Iterable- en Stream-interface. Het is een standaardmethode die is gedefinieerd in de iterabele interface. Verzamelingklassen die de iterabele interface uitbreiden, kunnen forEach-lus gebruiken om elementen te herhalen.

Deze methode gebruikt één enkele parameter die een functionele interface is. U kunt dus de lambda-expressie als argument doorgeven.


forEach() Handtekening in itereerbare interface

 default void forEach(Consumeraction) 

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

Uitgang:

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

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

Uitgang:

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

Java Stream forEachOrdered()-methode

Naast de methode forEach() biedt Java nog een methode forEachOrdered(). Het wordt gebruikt om elementen te herhalen in de volgorde die door de stream wordt opgegeven.

Zingaard:

 void forEachOrdered(Consumer action) 

Voorbeeld van Java Stream forEachOrdered()-methode

 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); } } 

Uitgang:

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