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:MapMit Java 8 können Sie eine Map mit der forEach-Schleife und lambda.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("Schlüssel: " + entry.getKey() + " Wert: " + 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("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:
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(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);
Javadoc: Java 8 - forEach
Commentaires (12)
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Excellent tutoriel !
N'hésitez pas si vous avez des questions.