Maison > Java > javaDidacticiel > le corps du texte

Comment compter efficacement les fréquences de caractères dans une chaîne à l'aide de Java ?

Mary-Kate Olsen
Libérer: 2024-11-02 12:34:30
original
1011 Les gens l'ont consulté

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

Fréquence des caractères dans une chaîne

Déterminer la fréquence de chaque caractère dans une chaîne est une tâche de programmation courante. Dans ce contexte, une solution impliquant les approches Java Map et Multiset est décrite.

Approche Java Map

Pour créer une carte avec chaque caractère comme clé et son nombre comme une valeur, les étapes suivantes peuvent être utilisées :

  1. Initialisez un objet HashMap vide.
  2. Parcourez la chaîne caractère par caractère.
  3. Vérifiez si le caractère actuel est déjà une clé dans la carte.

    • Si oui, incrémentez la valeur existante de 1.
    • Si non, ajoutez le caractère comme clé avec une valeur de 1. .

Exemple :

<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);
    }
}
Copier après la connexion

Approche multiensemble

Alternativement, le L’implémentation de Guava Multiset peut être utilisée pour compter efficacement les occurrences de caractères. Les multisets permettent de stocker plusieurs instances d'un élément et de suivre automatiquement leur nombre.

Exemple :

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

L'objet multiset contiendra le nombre de caractères comme valeurs.

Les deux approches vous permettent effectivement de déterminer la fréquence de chaque caractère dans une chaîne, offrant ainsi une flexibilité et des optimisations de performances en fonction de vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal