Programa Java para contar la ocurrencia de cada carácter en una string usando Hashmap

Dada una string, la tarea es escribir un programa en Java que imprima el número de ocurrencias de cada carácter en una string.

Ejemplos: 

Input: str = "GeeksForGeeks"
Output:
r 1
s 2
e 4
F 1
G 2
k 2
o 1

Input: str = "Ajit" 
Output: 
A 1
t 1
i 1
j 1 
 

Ya se ha discutido un enfoque que utiliza la array de frecuencia [] en la publicación anterior . En este programa se ha discutido   un enfoque usando Hashmap en Java .

  • Declare un Hashmap en Java de {char, int}.
  • Traverse en la string, verifique si Hashmap ya contiene el carácter atravesado o no.
  • Si está presente, aumente su conteo usando las funciones get() y put() en Hashmap .
  • Una vez que se completa el recorrido, recorra el Hashmap e imprima el carácter y su frecuencia.

A continuación se muestra la implementación del enfoque anterior.  

Java

// Java program to count frequencies of
// characters in string using Hashmap
import java.io.*;
import java.util.*;
class OccurenceOfCharInString {
    static void characterCount(String inputString)
    {
        // Creating a HashMap containing char
        // as a key and occurrences as  a value
        HashMap<Character, Integer> charCountMap
            = new HashMap<Character, Integer>();
 
        // Converting given string to char array
 
        char[] strArray = inputString.toCharArray();
 
        // checking each char of strArray
        for (char c : strArray) {
            if (charCountMap.containsKey(c)) {
 
                // If char is present in charCountMap,
                // incrementing it's count by 1
                charCountMap.put(c, charCountMap.get(c) + 1);
            }
            else {
 
                // If char is not present in charCountMap,
                // putting this char to charCountMap with 1 as it's value
                charCountMap.put(c, 1);
            }
        }
 
        // Printing the charCountMap
        for (Map.Entry entry : charCountMap.entrySet()) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        String str = "Ajit";
        characterCount(str);
    }
}
Producción: 

A 1
t 1
i 1
j 1

 

Complejidad de tiempo : O (n) donde n es la longitud de la string dada

Espacio Auxiliar: O(n)

Publicación traducida automáticamente

Artículo escrito por Ajit kumar panigrahy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *