Java 8 - Beispiele für die forEach-Schleife

Java 8 bietet zusätzliche Funktionen und neue Möglichkeiten, das Surfen durchzuführen. Es gibt Szenarien, in denen diese neuen Konzepte leistungsfähiger und empfehlenswerter sind.

Die meisten Java 8-Funktionen konzentrieren sich auf Lambda-Ausdrücke sowie verwandte Funktionen wie Flows, Methoden und Schnittstellen. Ein weiteres Feature in Java 8 ist das forEach.

forEach() kann so implementiert werden, dass es schneller als die for-each-Schleife ist, in Java 8 ist die Schnittstelle iterable verwendet die am besten optimierte Methode zum Durchlaufen von Elementen im Gegensatz zur Standardmethode zum Durchlaufen.

In diesem Artikel erfahren Sie, wie Sie eine java.util.List und ein java.util.Map mit einer neuen Schleife forEach von Java 8.

forEach und java.util.Map

Dieser Code zeigt die übliche Methode zum Durchsuchen eines Map:

Map 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.Entry entry : map.entrySet()) {
System.out.println("Schlüssel: " + entry.getKey() + " Wert: " + entry.getValue());
}
Mit Java 8 können Sie eine Map mit der forEach-Schleife und lambda.

Map map = 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("Schlüssel: " + k + " Wert: " + v));

items.forEach((k,v)->{
System.out.println("Schlüssel: " + k + " Wert: " + v);
if("D".equals(v)){
System.out.println("D");
}
});

forEach und java.util.List

Dieses Codebeispiel zeigt die übliche Suche mit dem for:

List arraylist = 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);
}
In Java 8 können Sie eine List mit forEach Lambda-Ausdruck oder Methodenreferenz.

List arraylist = new ArrayList< > (); 
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(item));

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

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

//Erstellen Sie einen Filter mit stream()
//Es sollte die CD-Ausgabe angezeigt werden
arraylist.stream()
.filter(s-> s.contains("CD"))
.forEach(System.out::p rintln);
References:
Javadoc: Java 8 - forEach