Vorkommen zählen mit groupBy
Die groupBy-Methode in Java-Streams ermöglicht es uns, Elemente basierend auf einem angegebenen Schlüssel in Gruppen zu sammeln. In diesem Fall möchten wir Zeichenfolgen nach ihrem Wert gruppieren und die Vorkommen innerhalb jeder Gruppe zählen.
Um dies zu erreichen, können wir die Überladung von groupBy verwenden, die einen zweiten Collector benötigt. Wir werden Collectors.counting() als diesen Collector bereitstellen, der die Elemente innerhalb jeder Gruppe zählt.
So implementieren Sie dies mithilfe eines Streams:
import java.util.*; import java.util.stream.*; class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, Long> counted = list.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); System.out.println(counted); } }
Dies führt zu Folgendem Ausgabe:
{Hello=2, World=1}
Die Karte enthält zwei Einträge, wobei „Hello“ auf 2 und „World“ auf 1 abgebildet ist. Dies stellt die Anzahl der Vorkommen dar für jedes Wort in der Eingabeliste.
Beachten Sie, dass wir auch „groupingByConcurrent“ verwenden können, um die Effizienz zu verbessern, insbesondere in Szenarien, in denen die gleichzeitige Ausführung sicher ist.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Java Streams das Vorkommen von Zeichenfolgen in einer Liste zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!