Comment puis-je réécrire ce code dans Java 8 Stream API?
public static void main(String[] args) { final List<String> ids = Arrays.asList("001", "007", "012", "099", "101", "167"); int total = 0; for (String id : ids) { if (id.indexOf("1") >= 0) { System.out.println(id); total++; } } System.out.println("Total count: " + total); }
3 Réponses :
Le flux équivalent peut être comme:
long total = ids.stream() .filter(id - > id.indexOf("1") >= 0) .peek(System.out::println) .count();
Merci pour votre réponse la plus rapide. +1
Nous pouvons le faire comme:
Cela pourrait être encore plus simple: Je préfère avoir une brève pause avec la condition. La déclaration ID -> id.indexof ("1")> = 0 code> signifie que le
"1" code> est contenu dans la chaîne donnée à
String :: Contient CODE>
Me plus approprié: p> .filter(id -> id.startsWith("1"))
Stackoverflow n'est pas un service de rédaction de code. Qu'est-ce que tu as essayé jusque-là?