判断一个字符串中各个字符出现的次数

我这里使用了两种方法,两种方法思路差不多,但是使用处理字符串的方法不一样,所以执行效率不一样
long xxx=System.nanoTime(); 这个方法用来标记执行方法前后的时间点,看最终执行完所用时间(纳秒)
第一种方法效率高,时间快(不是我一开始想的方法)
第二种方法效率低一点,时间慢,大概是第一种方法的三倍时间左右

思路:
将字符串拆成单个字符,然后作为key存在map中,map中已经存在key那就value+1,不存在key那就put(key,1)

第一种方法

    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        String str=scanner.next();

        String str="hsahdjkabshjcbakhiuhsadna";
        long start=System.nanoTime();
        HashMap<Character,Integer> map = new HashMap<>();
        for (char arr:str.toCharArray()){
            if (map.containsKey(arr)){
                Integer value=map.get(arr)+1;
                map.put(arr,value);
            }else{
                map.put(arr,1);
            }
        }

        for (Map.Entry<Character,Integer> i:map.entrySet()){
            System.out.println(i);
        }

        long end=System.nanoTime();

        System.out.println(end-start);

    }

第二种方法

    public static void main(String[] args) {
        
//        Scanner scanner = new Scanner(System.in);
//        String str=scanner.next();
        String str="hsahdjkabshjcbakhiuhsadna";
        long start=System.nanoTime();
        String[] array=str.split("");
        HashMap<String,Integer> map = new HashMap<>();
        for (String arr:array){
            if (map.containsKey(arr)){
                Integer value=map.get(arr)+1;
                map.put(arr,value);
            }else{
                map.put(arr,1);
            }
        }
        for (Map.Entry<String,Integer> i:map.entrySet()){

            System.out.println(i);
        }
        long end=System.nanoTime();

        System.out.println(end-start);
        
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的字典来统计字符串字符出现次数。具体实现如下: ```python str = "Hello, World!" char_dict = {} for char in str: if char in char_dict: char_dict[char] += 1 else: char_dict[char] = 1 print(char_dict) ``` 输出结果为: ``` {'H': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'W': 1, 'r': 1, 'd': 1, '!': 1} ``` 其,字典的键为字符串字符,值为该字符字符串出现次数。 ### 回答2: 在Python,我们可以使用字典来统计字符串各个字符出现次数。具体步骤如下: 1. 定义一个空字典,用于存储字符和对应的次数。 2. 遍历字符串的每个字符,可通过for循环实现。 3. 在循环,使用字典的get()方法来获取当前字符在字典的值,并将其加一。如果字典不存在该字符,则赋初值为1。 4. 循环结束后,字典就存储了字符串各个字符及其出现次数。 下面是一个示例代码: ```python def count_characters(s): char_counts = {} # 定义空字典 for char in s: char_counts[char] = char_counts.get(char, 0) + 1 return char_counts # 测试 str = "python" # 待统计的字符串 result = count_characters(str) print(result) ``` 结果输出如下: ```python {'p': 1, 'y': 1, 't': 1, 'h': 1, 'o': 1, 'n': 1} ``` 可以看到,字典存储了字符'p', 'y', 't', 'h', 'o', 'n'和对应的出现次数1. 即字符串各个字符出现次数。 ### 回答3: 在Python,可以使用字典来统计字符串字符出现次数。具体的步骤如下: 1. 定义一个空字典,用于存储字符出现次数的对应关系。 2. 通过循环遍历字符串的每个字符。 3. 对于每个字符判断是否已经在字典存在。如果已经存在,则将对应的值加1;如果不存在,则将该字符作为字典的键,并将值设置为1。 4. 循环结束后,字典存储了字符串字符出现次数。 以下是一个示例代码: ```python def count_characters(string): char_count = {} # 创建空字典 for char in string: # 遍历字符串的每个字符 if char in char_count: # 判断字符是否已经在字典存在 char_count[char] += 1 # 如果存在,将对应的值加1 else: char_count[char] = 1 # 如果不存在,将该字符作为键,并将值设置为1 return char_count # 测试示例代码 text = "Hello, Python!" result = count_characters(text) print(result) ``` 运行以上代码,输出的结果为: ``` {'H': 1, 'e': 1, 'l': 2, 'o': 2, ',': 1, ' ': 1, 'P': 1, 'y': 1, 't': 1, 'h': 1, 'n': 1, '!': 1} ``` 字典每个键表示一个字符,对应的值表示该字符字符串出现次数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值