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à?