Maison > Java > javaDidacticiel > le corps du texte

Comment interrompre ou revenir de l'itération Java 8 Stream forEachLike ?

Linda Hamilton
Libérer: 2024-10-24 01:42:02
original
422 Les gens l'ont consulté

How to Break or Return from Java 8 Stream forEachLike Iteration?

Rupture ou retour du flux Java 8 forEach

Comme l'itération externe utilisant des boucles for-each améliorées, l'itération interne avec les expressions lambda Java 8 nécessite une approche différente pour casser ou retourner. La sortie d'une boucle for-each peut être réalisée à l'aide de l'instruction break ou en renvoyant l'objet actuel.

Dans le cas du stream forEach, ni break ni return ne peuvent être utilisés. La raison en est que forEach est une opération de terminal, ce qui signifie qu'elle exécute un effet secondaire sur chaque élément et ne renvoie aucune valeur.

Alternatives pour rompre ou revenir du flux forEach

Au lieu de cela, il faut envisager d'utiliser d'autres méthodes de flux qui offrent des fonctionnalités différentes :

  • filter() : Pour filtrer les éléments qui ne répondent pas à une condition spécifiée et obtenez un nouveau flux contenant les éléments filtrés.
  • findFirst(): Pour récupérer le premier élément qui satisfait un prédicat donné. Si aucun élément ne correspond, il renvoie un facultatif vide.
  • anyMatch(): Pour vérifier si un élément correspond à un certain prédicat.
  • collect() : Pour réduire le flux en une seule valeur, une collection ou un autre résultat.

Exemple de code

Utilisation de filter() pour trouver le premier élément qui satisfait une condition :

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

Utiliser anyMatch() pour déterminer si un élément répond à un prédicat :

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

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!