Maison > Java > javaDidacticiel > Comment gérer le flux de contrôle avec pause et retour dans Java 8 Streams forEach ?

Comment gérer le flux de contrôle avec pause et retour dans Java 8 Streams forEach ?

Patricia Arquette
Libérer: 2024-10-23 22:12:02
original
394 Les gens l'ont consulté

How to Handle Control Flow with break and return in Java 8 Streams forEach?

Pause ou retour du flux Java 8 forEach

La méthode forEach des flux Java 8 fournit une itération interne sur un collection, éliminant le besoin de boucles explicites comme for-each. Cependant, il ne prend pas en charge les mécanismes de flux de contrôle traditionnels tels que break et return.

Lors de l'utilisation de forEach avec des expressions lambda, l'objectif est pour effectuer une opération sur chaque élément de la collection. Si vous devez interrompre cette itération en fonction d'une condition spécifique, envisagez plutôt d'utiliser des opérations de flux alternatives.

Par exemple, pour rechercher le premier élément qui répond à une condition particulière, utilisez findFirst :

<code class="java">Optional<SomeObject> result = someObjects.stream()
                                 .filter(obj -> some_condition_met)
                                 .findFirst();</code>
Copier après la connexion

L'opération findFirst renvoie un Optional contenant l'élément correspondant, s'il est présent, ou un Optional vide si aucune correspondance n'est trouvée.

Si vous avez uniquement besoin de déterminer si un élément de la collection remplit une condition, utilisez anyMatch :

<code class="java">boolean result = someObjects.stream().anyMatch(obj -> some_condition_met);</code>
Copier après la connexion

L'opération anyMatch renvoie true si au moins un élément satisfait à la condition, sinon false.

En tirant parti des opérations de flux appropriées, vous pouvez obtenir une fonctionnalité de flux de contrôle similaire à break et retour sans modifier la mécanique interne de la boucle forEach.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal