Heim >Java >javaLernprogramm >Stream-API in Java 8: So verwenden Sie die Methode Reduce(), um Aggregationsvorgänge für Sammlungen durchzuführen
Stream-API in Java 8: So verwenden Sie die Methode „reduce()“ zum Durchführen von Aggregationsvorgängen für Sammlungen
Einführung:
In Java 8 wurde die Stream-API eingeführt, die eine leistungsfähigere und bequemere Möglichkeit zur Verarbeitung von Sammlungsdaten bietet. Die Methode „reduce()“ in der Stream-API spielt eine wichtige Rolle beim Aggregationsvorgang der Sammlung. In diesem Artikel wird die Verwendung der Methode „reduce()“ vorgestellt und einige Codebeispiele bereitgestellt.
1. Übersicht über die Methode „reduce()“
Die Methode „reduce()“ ist eine der Kernmethoden in der Stream-API für Aggregationsvorgänge für Sammlungen. Es akzeptiert einen Parameter vom Typ BinaryOperator, der definiert, wie die Sammlungselemente aggregiert werden. Die Methode „reduce()“ wendet die Aggregationsoperation nacheinander auf die Elemente der Sammlung an und gibt ein optionales Ergebnis zurück. Die Methode
reduce() hat zwei überladene Versionen:
Die erste Version Die Reduce( )-Methode akzeptiert eine Anfangswertidentität und einen Binäroperator-Akkumulator. Es nimmt den Anfangswert als Ausgangspunkt der Berechnung und wendet jedes Element auf den Akkumulator an, um schließlich das aggregierte Ergebnis zurückzugeben.
Die zweite Version der Methode Reduce() akzeptiert nur einen binären Operator-Akkumulator. Es stellt keinen Anfangswert bereit und gibt daher ein optionales Objekt zurück, das mögliche Ergebnisse darstellt.
2. Beispiele für die Verwendung der Reduce()-Methode
Im Folgenden finden Sie einige Codebeispiele, die verschiedene Verwendungen der Reduce()-Methode zeigen:
Summieren Sie die Elemente der Menge:
Listc0f559cc8d56b43654fcbe4aa9df7b4a asList( 1, 2, 3, 4, 5);
int sum = zahlen.stream()
.reduce(0, (a, b) -> a + b);
System.out.println(sum); // Ausgabe: 15
Finden Sie den Maximalwert der Menge Elemente:
List< ;Integer> zahlen = Arrays.asList(1, 2, 3, 4, 5);
Optionalc0f559cc8d56b43654fcbe4aa9df7b4a max = zahlen.stream()
.reduce(Integer::max);
System.out.println(max.orElse(0 )); / / Ausgabe: 5
Strings verketten:
Listf7e83be87db5cd2d9a8a0b8117b38cd4
System.out.println(result); // Ausgabe: Java Stream API
new Person("Alice", 20),
new Person ("Bob", 30),
new Person("Charlie", 25)
);
int totalAge = people.stream()
.reduce("", (a, b) -> a + " " + b);
Fazit: Die
reduce()-Methode ist eine der wichtigen Methoden in der Stream-API für Sammlungsaggregationsvorgänge. Mit der Methode „reduce()“ können wir Operationen wie das Summieren der Elemente der Menge, das Ermitteln des Maximalwerts und das Verketten von Zeichenfolgen ausführen. In der tatsächlichen Entwicklung können wir binäre Operatoren nach Bedarf anpassen, um komplexere Aggregationsoperationen zu implementieren. Wenn Sie die Methode Reduce() beherrschen, können Sie unseren Code prägnanter und effizienter gestalten.Das obige ist der detaillierte Inhalt vonStream-API in Java 8: So verwenden Sie die Methode Reduce(), um Aggregationsvorgänge für Sammlungen durchzuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!