Zählen der Zeichenhäufigkeit in Zeichenfolgen
Eine häufige Aufgabe beim Programmieren ist das Zählen der Häufigkeit von Zeichen in einer bestimmten Zeichenfolge. Angenommen, wir haben eine Zeichenfolge „aasjjikkk“. Wir wollen die Anzahl jedes einzelnen Zeichens bestimmen, was zu „2 ‚a‘, 1 ‚s‘, 2 ‚j‘, 1 ‚i‘, 3 ‚k‘“ führt.“
Lösung Verwendung von Java Map
Eine effiziente Lösung ist die Verwendung einer Java Map, die Schlüssel (in diesem Fall Zeichen) mit Werten (der Anzahl ihrer Vorkommen) verknüpft. Wir durchlaufen die Zeichenfolge und prüfen, ob jedes Zeichen bereits in der Karte vorhanden ist. Wenn ja, erhöhen wir die Anzahl; Andernfalls fügen wir es mit einer Anzahl von 1 ein.
<code class="java">Map<Character, Integer> map = new HashMap<>(); String s = "aasjjikkk"; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); Integer val = map.get(c); if (val != null) { map.put(c, val + 1); } else { map.put(c, 1); } }
Dieser Ansatz bietet eine natürliche Darstellung der Zeichenanzahl in einem Schlüssel-Wert-Paarformat.
Alternative Lösung mit Multiset
Alternativ ermöglicht uns die Multiset-Datenstruktur von Guava, das Vorkommen von Elementen zu zählen, ohne explizit eine Karte zu pflegen.
<code class="java">Multiset<Character> multiset = HashMultiset.create(); String s = "aasjjikkk"; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); multiset.add(c); }</code>
Das Multiset enthält jetzt die Anzahl jedes Zeichens im Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie kann man die Zeichenhäufigkeit in einer Zeichenfolge effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!