📌  相关文章
📜  Java程序使用Hashmap计算字符串中每个字符的出现次数

📅  最后修改于: 2022-05-13 01:58:09.400000             🧑  作者: Mango

Java程序使用Hashmap计算字符串中每个字符的出现次数

给定一个字符串,任务是用Java编写一个程序,打印字符串中每个字符出现的次数。

例子:

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 
 

在上一篇文章中已经讨论了使用频率 []数组的方法。在这个程序中,讨论了在Java中使用 Hashmap 的方法。

  • 在Java中声明一个 {char, int} 的 Hashmap。
  • 在字符串中遍历,检查 Hashmap 是否已经包含遍历的字符。
  • 如果存在,则使用 Hashmap 中的 get() 和 put()函数增加其计数。
  • 遍历完成后,在 Hashmap 中遍历并打印字符及其频率。

下面是上述方法的实现。

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 charCountMap
            = new HashMap();
 
        // 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);
    }
}


输出:
A 1
t 1
i 1
j 1