Heim  >  Artikel  >  Java  >  Wie kann man mit Java effizient Zeichenhäufigkeiten in einer Zeichenfolge zählen?

Wie kann man mit Java effizient Zeichenhäufigkeiten in einer Zeichenfolge zählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 12:34:30924Durchsuche

How to Efficiently Count Character Frequencies in a String Using Java?

Zeichenhäufigkeit in einer Zeichenfolge

Die Bestimmung der Häufigkeit jedes Zeichens in einer Zeichenfolge ist eine häufige Programmieraufgabe. In diesem Zusammenhang wird eine Lösung mit Java-Map- und Multiset-Ansätzen skizziert.

Java-Map-Ansatz

Um eine Karte mit jedem Zeichen als Schlüssel und seiner Anzahl als zu erstellen Wenn Sie einen Wert angeben, können die folgenden Schritte ausgeführt werden:

  1. Initialisieren Sie ein leeres HashMap-Objekt.
  2. Durchlaufen Sie die Zeichenfolge Zeichen für Zeichen.
  3. Überprüfen Sie, ob Das aktuelle Zeichen ist bereits ein Schlüssel in der Karte.

    • Wenn ja, erhöhen Sie den vorhandenen Wert um 1.
    • Wenn nein, fügen Sie das Zeichen als Schlüssel mit einem Wert von 1 hinzu .

Beispiel:

<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);
    }
}

Multiset-Ansatz

Alternativ die Die Guava-Multiset-Implementierung kann verwendet werden, um das Vorkommen von Zeichen effizient zu zählen. Multisets ermöglichen das Speichern mehrerer Instanzen eines Elements und die automatische Verfolgung ihrer Anzahl.

Beispiel:

<code class="java">Multiset<Character> multiset = HashMultiset.create();
String s = "aasjjikkk";
for (char c : s.toCharArray()) {
    multiset.add(c);
}</code>

Das Multiset-Objekt enthält die Zeichenanzahl als Werte.

Mit beiden Ansätzen können Sie effektiv die Häufigkeit jedes Zeichens in einer Zeichenfolge bestimmen und so Flexibilität und Leistungsoptimierungen je nach Ihren spezifischen Anforderungen bieten.

Das obige ist der detaillierte Inhalt vonWie kann man mit Java effizient Zeichenhäufigkeiten in einer Zeichenfolge zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn