Java suteikia naują metodą forEach() elementams kartoti. Jis apibrėžtas Iterable ir Stream sąsajoje. Tai numatytasis metodas, apibrėžtas Iterable sąsajoje. Kolekcijos klasės, kurios išplečia Iterable sąsają, gali naudoti forEach kilpą elementams kartoti.
Šis metodas apima vieną parametrą, kuris yra funkcinė sąsaja. Taigi, kaip argumentą galite perduoti lambda išraišką.
forEach() parašas kartojamoje sąsajoje
default void forEach(Consumeraction)
Java 8 forEach() 1 pavyzdys
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)); } }
Išvestis:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() 2 pavyzdys
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); } }
Išvestis:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Java Stream forEachOrdered() metodas
Kartu su forEach() metodu, Java pateikia dar vieną metodą forEachOrdered(). Jis naudojamas elementams kartoti srauto nurodyta tvarka.
Singnatūra:
void forEachOrdered(Consumer action)
„Java Stream forEachOrdered()“ metodo pavyzdys
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); } }
Išvestis:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky