Heim >Java >javaLernprogramm >Wie gehe ich mit dem Kontrollfluss mit Break und Return in Java 8 Streams forEach um?
Break or Return from Java 8 Stream forEach
Die forEach-Methode von Java 8-Streams ermöglicht eine interne Iteration über einen Sammlung, wodurch die Notwendigkeit expliziter Schleifen wie for-each entfällt. Es unterstützt jedoch keine herkömmlichen Kontrollflussmechanismen wie break und return.
Bei der Verwendung von forEach mit Lambda-Ausdrücken ist das Ziel um eine Operation für jedes Element der Sammlung auszuführen. Wenn Sie diese Iteration aufgrund einer bestimmten Bedingung unterbrechen müssen, sollten Sie stattdessen die Verwendung alternativer Stream-Operationen in Betracht ziehen.
Um beispielsweise das erste Element zu finden, das eine bestimmte Bedingung erfüllt, verwenden Sie findFirst:
<code class="java">Optional<SomeObject> result = someObjects.stream() .filter(obj -> some_condition_met) .findFirst();</code>
Die Operation findFirst gibt ein Optional zurück, das das passende Element enthält, falls vorhanden, oder ein leeres Optional, wenn keine Übereinstimmung gefunden wird.
Wenn Sie nur feststellen müssen, ob ein Element in der Sammlung eine Bedingung erfüllt, verwenden Sie anyMatch:
<code class="java">boolean result = someObjects.stream().anyMatch(obj -> some_condition_met);</code>
Die Operation anyMatch gibt zurück true, wenn mindestens ein Element die Bedingung erfüllt, andernfalls false.
Durch die Nutzung geeigneter Stream-Operationen können Sie Kontrollflussfunktionen ähnlich wie break und return, ohne die interne Mechanik der forEach-Schleife zu ändern.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem Kontrollfluss mit Break und Return in Java 8 Streams forEach um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!