Statistik zu Transaktionen mit dem Stream API

Java Medium streams

Aufgabe «Statistik zu Transaktionen mit dem Stream API»

Gegeben ist eine Liste von Zeichenfolgen, jede Zeile enthält Informationen über eine Transaktion: Transaktions-ID, Betrag (double) und Kategorie (ein Wort, kann großgeschrieben sein). Mit dem Stream API müssen die Transaktionen nach Kategorien gruppiert werden (Groß-/Kleinschreibung ist nicht relevant, in Kleinbuchstaben umwandeln) und für jede Kategorie der Gesamtbetrag der Transaktionen, auf zwei Nachkommastellen gerundet, ausgegeben werden. Das Ergebnis als Zeilen ausgeben: Kategorie: Betrag. Die Kategorien alphabetisch sortieren. Wenn die Kategorie leer ist, solche Transaktionen ignorieren.

Eingabeformat

In der ersten Zeile eine ganze Zahl N (1 ≤ N ≤ 1000). Danach N Zeilen, jeweils im Format: ID Betrag Kategorie (Trennzeichen Leerzeichen). Der Betrag ist eine Gleitkommazahl, die Kategorie eine Zeichenfolge ohne Leerzeichen.

Ausgabeformat

Für jede Kategorie mit einem Betrag ungleich Null eine Zeile ausgeben: Kategorie: Betrag (Betrag mit zwei Nachkommastellen). Kategorien in aufsteigender Reihenfolge (lexikografisch). Wenn es keine einzige korrekte Transaktion gibt, "-" ausgeben.

main.java