如何使用Hashtable在Python中统计字符串重复字母的出现次数
统计字符串重复字母并存储到Hashtable的实现方法
以下是Java语言的实现代码,直接实现你需要的功能:
import java.util.Hashtable; public class CharacterCounter { public static void main(String[] args) { String targetStr = "ProgrammingLanguage"; Hashtable<Character, Integer> charCountMap = new Hashtable<>(); // 遍历字符串中的每个字符 for (char c : targetStr.toCharArray()) { // 仅统计字母(若需包含非字母可移除此判断) if (Character.isLetter(c)) { if (charCountMap.containsKey(c)) { // 字母已存在,计数+1 charCountMap.put(c, charCountMap.get(c) + 1); } else { // 字母首次出现,初始计数为1 charCountMap.put(c, 1); } } } // 输出结果,格式为{(重复字母):(次数)} System.out.println(charCountMap); } }
代码说明:
- 导入依赖:引入
java.util.Hashtable类,这是Java内置的哈希表实现 - 初始化对象:创建
Hashtable<Character, Integer>,用字符作为键,重复次数作为值 - 遍历字符:通过
toCharArray()将字符串转为字符数组,逐个遍历 - 计数逻辑:
- 用
Character.isLetter(c)过滤非字母字符,不需要的话可以删除该行 - 检查字符是否已在Hashtable中:存在则更新计数,不存在则添加新键值对
- 用
- 输出结果:打印Hashtable会自动以
{字符:次数, ...}的格式展示
额外说明:
- 若需要不区分大小写统计(比如把'A'和'a'视为同一字符),可以在获取字符时统一转换:
char c = Character.toLowerCase(targetStr.charAt(i)); - Hashtable是线程安全的实现,如果不需要线程安全,也可以替换为
HashMap,用法完全一致
内容的提问来源于stack exchange,提问作者86BuickRegal
相关产品推荐
相关产品推荐

