logo

جافا لكل حلقة

توفر Java طريقة جديدة forEach() لتكرار العناصر. يتم تعريفه في واجهة Iterable وStream. إنها طريقة افتراضية محددة في الواجهة القابلة للتكرار. يمكن لفئات المجموعة التي توسع الواجهة القابلة للتكرار استخدام حلقة forEach لتكرار العناصر.

تأخذ هذه الطريقة معلمة واحدة وهي واجهة وظيفية. لذلك، يمكنك تمرير تعبير لامدا كوسيطة.


توقيع forEach() في الواجهة القابلة للتكرار

 default void forEach(Consumeraction) 

جافا 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 

جافا 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(). يتم استخدامه لتكرار العناصر بالترتيب المحدد بواسطة الدفق.

التوقيع:

 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