Java מספקת שיטה חדשה forEach() לחזרת האלמנטים. זה מוגדר בממשק Iterable ו-Stream. זוהי שיטת ברירת מחדל המוגדרת בממשק Iterable. מחלקות אוסף המרחיבות את ממשק Iterable יכולות להשתמש ב-forEach לולאה כדי לחזור על אלמנטים.
שיטה זו לוקחת פרמטר בודד שהוא ממשק פונקציונלי. אז אתה יכול להעביר את ביטוי למבדה כטיעון.
חתימת forEach() בממשק Iterable
default void forEach(Consumeraction)
Java 8 forEach() דוגמה 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)); } }
תְפוּקָה:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() דוגמה 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); } }
תְפוּקָה:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
שיטת Java Stream forEachOrdered()
יחד עם שיטת forEach(), Java מספקת שיטה אחת נוספת forEachOrdered(). הוא משמש לחזרת אלמנטים בסדר שצוין על ידי הזרם.
Singnature:
void forEachOrdered(Consumer action)
דוגמה לשיטת 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); } }
תְפוּקָה:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky