Ich habe POJO Definition wie folgt:
%Vor% Zur Zeit habe ich einen Lambda-Ausdruck für die Gruppe By 'deptName'
as:
Frage Ist es möglich, Summe mehr als eine Spalte zu verwenden? Ich muss die Summe in beiden Feldern salary and bonus
in einem Ausdruck anstatt in mehreren Werten berechnen?
SQL-Repräsentation wäre:
%Vor%Sie müssen eine zusätzliche Klasse erstellen, die Ihre 2 zusammengefassten Zahlen enthält (Gehalt und Bonus). Und ein benutzerdefinierter Collector.
Nehmen wir an, Sie haben
%Vor%für das Halten von Summen. Dann brauchst du einen Sammler wie diesen:
%Vor%Mit diesen Klassen können Sie Ihre Ergebnisse wie
sammeln %Vor%Was druckt das:
%Vor% Gruppierung nach ist eine Terminaloperation, die eine Map ergibt. Die Karte, die von der groupingBy im folgenden Code erstellt wird, ist ein Map<String, List<EmployeeDetails>>
. Ich erstelle einen neuen Stream mit der Map-Methode entrySet. Ich erstelle dann eine neue Map mit Collectors.toMap
. Bei diesem Ansatz wird die Verkettung von Methoden verwendet, um das Erstellen einer anderen Klasse und das Erstellen von präziseren Code zu vermeiden.