Zählen von Vorkommen mit Java 8-Streams mithilfe von groupBy
In Java 8-Streams können Sie mit der Methode „groupBy“ Elemente basierend auf einer bestimmten Eigenschaft gruppieren oder Wert. In Kombination mit einem anderen Kollektor, beispielsweise dem Zählen, können Sie das Vorkommen doppelter Elemente in einem Stream effizient zählen.
Betrachten wir ein Beispiel:
List<String> list = Arrays.asList("Hello", "Hello", "World"); Map<String, Long> wordToFrequency = list.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
In diesem Beispiel verwenden wir Collect-Methode mit einer Überladung, die einen Collector als Argument verwendet. Innerhalb des Collectors verwenden wir „groupingBy“, um die Elemente basierend auf ihrem String-Wert (der Identitätsfunktion) zu gruppieren. Anschließend kombinieren wir dies mit Collectors.counting(), um die Vorkommen jeder eindeutigen Zeichenfolge zu zählen.
Als Ergebnis erhalten wir eine Karte, in der jeder Schlüssel eine eindeutige Zeichenfolge ist und der entsprechende Wert die Anzahl der Vorkommen in ist die Liste. In diesem Fall würde die Karte Folgendes enthalten:
{Hello=2, World=1}
Dieser Ansatz ist äußerst effizient und einfach zu verwenden, sodass er für verschiedene Szenarien geeignet ist, in denen Sie das Vorkommen von Elementen in einem Stream basierend auf einer bestimmten Eigenschaft zählen müssen . Denken Sie daran, dass Sie bei Bedarf auch groupingByConcurrent für eine verbesserte Leistung nutzen können.
Das obige ist der detaillierte Inhalt vonWie kann ich Java 8 Streams verwenden, um das Vorkommen doppelter Elemente effizient zu zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!