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
Commentaires (0)
Laisser un commentaire
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Chargement des commentaires...