Java 8 - Примеры цикла forEach
Java 8 предоставляет дополнительные возможности и новые способы просмотра веб-страниц. Существуют сценарии, в которых эти новые концепции являются более производительными и рекомендуемыми.Большинство функций Java 8 сосредоточены на лямбда-выражениях, а также связанных с ними функциях, таких как потоки, методы и интерфейсы. Еще одной особенностью Java 8 является forEach.
forEach() может быть реализован так, чтобы быть быстрее, чем цикл for-each, в Java 8 интерфейс iterable использует наиболее оптимизированный метод обхода элементов по сравнению со стандартным методом traversing.
В этой статье вы узнаете, как выполнять итерацию по java.util.List и java.util.Map с новым циклом forEach java 8.
forEach и java.util.Map
Этот код показывает обычный способ просмотра Map:MapВ Java 8 можно просмотреть Map с циклом forEach и лямбдой.map = new HashMap< > ();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
map.put(4, "D");
map.put(5, "E");
for (Map.Entryentry : map.entrySet()) {
System.out.println("Ключ: " + entry.getKey() + " Значение: " + entry.getValue());
}
Mapmap = new 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");
}
});
forEach и java.util.List
В этом примере кода показан обычный просмотр с for:
Listarraylist = new 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);
}
List arraylist = new ArrayList< > ();References:
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);
}
});
//метод reference
arraylist.forEach(System.out::p rintln);
//Создаем фильтр с помощью stream()
//он должен показать CD output
arraylist.stream()
.filter(s-> s.contains("CD"))
.forEach(System.out::p rintln);
Javadoc: Java 8 - forEach