Java gir en ny metode forEach() for å iterere elementene. Det er definert i Iterable og Stream-grensesnittet. Det er en standardmetode definert i Iterable-grensesnittet. Samlingsklasser som utvider Iterable-grensesnittet kan bruke for hver sløyfe for å iterere elementer.
Denne metoden tar en enkelt parameter som er et funksjonelt grensesnitt. Så du kan bruke lambda-uttrykk som et argument.
forEach()-signatur i Iterable Interface
default void forEach(Consumeraction)
Java 8 forEach() eksempel 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)); } }
Produksjon:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() eksempel 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); } }
Produksjon:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Java Stream forEachOrdered()-metoden
Sammen med forEach()-metoden gir Java enda en metode forEachOrdered(). Den brukes til å iterere elementer i rekkefølgen spesifisert av strømmen.
Singnature:
void forEachOrdered(Consumer action)
Eksempel på Java Stream forEachOrdered()-metode
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); } }
Produksjon:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky