Java 8 - أمثلة على حلقة forEvery

يوفر Java 8 ميزات إضافية وطرقا جديدة لإجراء التصفح. هناك سيناريوهات تكون فيها هذه المفاهيم الجديدة أكثر أداء وموصى بها.

تركز غالبية ميزات Java 8 على تعبيرات lambda ، بالإضافة إلى الميزات ذات الصلة مثل التدفقات والأساليب والواجهات. ميزة أخرى في Java 8 هي النمط لكل < / span>.

forEach() ليكون أسرع من حلقة لكل حلقة ، في Java 8 الواجهة iterable< / span> الطريقة المثلى لاجتياز العناصر بدلا من الطريقة القياسية للعبور

في هذه المقالة ، ستتعلم كيفية التكرار من خلال نمط java.util.List ونمط java.util.Map مع حلقة جديدة forEach من java 8.

forEvery و java.util.Map

يوضح هذا الرمز الطريقة المعتادة لتصفح نمط Map:

Map map = HashMap جديد< > (); 
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
map.put(4, "D");
map.put(5, "E");

for (Map.Entry entry: map.entrySet()) {
System.out.println("Key: " + entry.getKey() + " القيمة: " + entry.getValue());
}
< / string >< / string >< / pre> باستخدام Java 8 ، يمكنك تصفح نمط Map مع حلقة forEvery وlambda.

Map map = HashMap جديد< > (); 
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
map.put(4, "D");
map.put(5, "E");

items.forEach((k,v)-> System.out.println ("مفتاح: " + k + " القيمة: " + v)) ؛

items.forEach((k,v)->{
System.out.println ("مفتاح: " + k + " القيمة: " + v) ؛
if("D".equals(v)){
System.out.println("D");
}
})؛
< / string >< / pre>

forEvery و java.util.List< / h2>
يوضح مثال الكود هذا الاستعراض المعتاد باستخدام نمط من أجل:

List arraylist = ArrayList جديد< > (); 
arraylist.add("A");
arraylist.add("B");
arraylist.add("C");
arraylist.add("D");
arraylist.add("E");
arraylist.add("F");

for(String val: arraylist){
System.out.println(val);
}
< / string >< / pre>< / div> في Java 8 ، يمكنك تصفح نمط قائمة< / سبان> مع نمط لكل < / سبان> تعبير لامدا أو مرجع الطريقة.

< pre class = "prettyprint lang-java" >قائمة الصفائف = قائمة الصفيف الجديدة< > ();
arraylist.add("AB");
arraylist.add("BC");
arraylist.add("CD");
arraylist.add("DE");
arraylist.add("EF");
arraylist.add("FG")؛

/ / lambda
arraylist.forEach(item-> System.out.println (البند)) ؛

arraylist.forEach(item->{
if("D".equals(item)){
System.out.println(item);
}
})؛

//method reference
arraylist.forEach(System.out::p rintln);

//إنشاء مرشح باستخدام stream()
//يجب أن يظهر إخراج القرص المضغوط
arraylist.stream()
.filter(s-> s.contains("CD")))
.forEach(System.out::p rintln); < / قبل > المراجع:
Javadoc: Java 8 - forEach< / a>