Heim >Java >javaLernprogramm >Wie zähle ich das Vorkommen von Elementen in einem Java Stream mit „groupBy()'?
Zählen von Vorkommen mit GroupBy in Java Streams
Java Stream API bietet leistungsstarke Mechanismen für die effiziente Bearbeitung und Aggregation von Daten. Eine häufige Aufgabe besteht darin, das Vorkommen von Elementen innerhalb eines Streams zu zählen. Um dies mit der Methode „groupBy()“ zu erreichen, muss ein zusätzlicher Kollektor genutzt werden.
Beachten Sie den folgenden Codeausschnitt, der darauf abzielt, Elemente in einem Stream in einer Karte zu sammeln, in der Schlüssel eindeutige Elemente und Werte deren Vorkommen darstellen:
List<String> list = Arrays.asList("Hello", "Hello", "World"); // Desired output: // {Hello=2, World=1}
Um dies zu erreichen, können wir die Methode „groupBy()“ mit einem Collectors.counting()-Kollektor verwenden, um Folgendes auszuführen counting:
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); } }
Erläuterung:
Die Die resultierende gezählte Karte verfügt über Schlüssel als Elemente und Werte entsprechend ihrer jeweiligen Anzahl:
{Hello=2, World=1}
Alternativ können Sie aus Effizienzgründen in bestimmten Szenarien die Verwendung von Collectors.groupingByConcurrent erkunden. Denken Sie daran, zu beurteilen, ob Ihr spezifischer Anwendungsfall mit den Sicherheitsanforderungen der gleichzeitigen Gruppierung übereinstimmt.
Das obige ist der detaillierte Inhalt vonWie zähle ich das Vorkommen von Elementen in einem Java Stream mit „groupBy()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!