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