ホームページ >Java >&#&チュートリアル >文字列内の文字の頻度を効率的にカウントするにはどうすればよいですか?

文字列内の文字の頻度を効率的にカウントするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 19:24:301042ブラウズ

How to Efficiently Count Character Frequency in a String?

文字列内の文字の頻度の決定

文字列内の文字の頻度をカウントすることは、プログラミングにおける一般的なタスクです。これを達成するには、次の質問を検討してください:

質問: 文字列内の文字の頻度を効率的にカウントするにはどうすればよいですか?

答え: を決定するには文字の頻度を設定するには、文字を整数にマップする Java Map を作成します。文字列の文字を反復処理し、それらの文字がマップ内に存在するかどうかを確認します。その場合は、その値をインクリメントします。それ以外の場合は、値を 1 に初期化します。

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

このメソッドは、文字をキーとして、それぞれの頻度を値として持つマップを作成します。

あるいは、Bozho の提案を利用することもできます。文字の出現を直接カウントするためのマルチセット。

以上が文字列内の文字の頻度を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。