Sie suchen höchstwahrscheinlich nach einem groupingBy Kollektor. Im Wesentlichen ermöglicht der Collector groupingBy das Gruppieren von Objekten nach einer bestimmten Eigenschaft und das Speichern der Ergebnisse in einer Map
Instanz.
Nachdem Sie die Gruppierung durchgeführt haben, können Sie einfach die Liste der Objekte abrufen, die zu einer bestimmten Gruppe gehören, und die Daten ausdrucken, die angezeigt werden sollen.
, wenn Sie bereits die Produkte und sind nur daran interessiert, den Ausdruck alle die Liste der Objekte auf der Grundlage eines ENUM-Wert, angesichts der Map
Instanz Speichern der Gruppen gruppiert haben, ist auch in der Klasse deklariert dann würde ich Ich schlage vor, Sie erstellen eine Methode, die einen einzelnen Parameter des Aufzählungstyps annimmt, dann erstellen Sie eine switch-Anweisung innerhalb der Methode, die alle möglichen Werte angibt, dann drucken Sie in jedem Fall die Liste, die dem Wert case
entspricht. Jetzt müssen Sie diese Methode aufrufen und den Aufzählungswert übergeben, der der Gruppe entspricht, die Sie drucken möchten.
unter Berücksichtigung, dass die Klasse die toString
Methode überschrieben hat, sollte alles wie erwartet funktionieren, sonst müssen Sie die Methode überschreiben.
Was die Formatierung betrifft, suchen Sie wahrscheinlich nach der format Methode. Sie können mehr String-Format Beispiele here finden.