A Java új metódust biztosít a forEach() számára az elemek iterálására. Az Iterable és Stream felületen van meghatározva. Ez az Iterable felületen meghatározott alapértelmezett metódus. Az Iterable felületet kiterjesztő gyűjteményosztályok a forEach ciklust használhatják az elemek iterálására.
Ez a módszer egyetlen paramétert vesz igénybe, amely egy funkcionális interfész. Tehát átadhatja a lambda kifejezést argumentumként.
forEach() aláírás az iterálható felületen
default void forEach(Consumeraction)
Java 8 forEach() példa 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)); } }
Kimenet:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() példa 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); } }
Kimenet:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Java Stream forEachOrdered() Method
A forEach() metódus mellett a Java még egy metódust biztosít az EachOrdered() számára. Az elemek iterálására szolgál a folyam által meghatározott sorrendben.
Singnatura:
void forEachOrdered(Consumer action)
Java Stream forEachOrdered() módszer példa
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); } }
Kimenet:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky