Java 8 - Exemples de la boucle forEach
Java 8 fournit des fonctionnalités additionnels et de nouveaux méthodes pour réaliser le parcourt. Il existe des scénarios ou ces nouveaux concepts sont plus performants et recommandés.La majorité des fonctionnalités Java 8 concentre sur les expressions lambda, ainsi que les fonctionalités reliés tel que les flux, méthodes et les interfaces. Une autre caractéristique dans Java 8 est la boucle forEach.
forEach() peut être implémentée pour qu'elle soit plus rapide que la boucle for-each, en Java 8 l'interface iterable utilise la méthode la plus optimisée pour parcourir les éléments contrairement à la méthode standard de parcourt.
Dans cet article, vous allez apprendre comment parcourir une java.util.List et une java.util.Map avec une nouvelle boucle forEach de java 8.
forEach et java.util.Map
Ce code montre la façon habituelle pour parcourir une Map:MapAvec Java 8, vous pouvez parcourir une Map avec la boucle forEach et l'expression 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("Clé : " + entry.getKey() + " Valeur : " + 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("clé : " + k + " Valeur : " + v));
items.forEach((k,v)->{
System.out.println("clé : " + k + " Valeur : " + v);
if("D".equals(v)){
System.out.println("D");
}
});
forEach et java.util.List
Cet exemple de code montre le parcourt habituel avec la boucle 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<>();Références:
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);
}
});
//reference de méthode
arraylist.forEach(System.out::println);
//Créer un filtre avec stream()
//elle doit afficher CD en sortie
arraylist.stream()
.filter(s->s.contains("CD"))
.forEach(System.out::println);
Javadoc: Java 8 - forEach