Ich weiß nicht, warum ich Aggregatfunktionen verwenden soll. Ich meine, es wird angenommen, dass eine Aggregatfunktion die Ausführung parallelisiert, wenn die Leistung verbessert wird.Aggregatfunktionen
https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html
Aber es ist nicht wahr, nach der Dokumentation, wird der Code nicht parallel sein, wenn Sie nicht über einen parallelStream() verwenden, anstatt Strom(), so Warum sollte ich Verwenden Sie einen Stream(), wenn nichts besser geht?
Sollten diese Codes nicht übereinstimmen?
//it is not parallel
listOfIntegers.stream()
.forEach(e -> System.out.print(e+" "));
Und
//it is parallel
listOfIntegers.parallelStream()
.forEach(e -> System.out.print(e+" "));
Was meinen Sie mit „Aggregat“ Funktionen
Methode betrachten
und Ausgabe von diesem Verfahren vergleichen? Verwendung von Streams? –
Sie verwenden Lambda-Ausdrücke in Ihren Anweisungen. Meinst du map, filter, reduziere als Aggregat-Funktionen? – Supahupe
'forEach' ist keine Aggregatfunktion. Außerdem möchten Sie in Ihrem Beispiel wahrscheinlich 'stream()' anstelle von 'parallelStream()' verwenden, da der sequentielle 'stream()' in den meisten Fällen schneller ist. – Holger