Java程序统计每个字符出现的次数


Java中,统计字符串中每个字符出现的次数是一项常见的任务,可以使用HashMap高效地完成。HashMap允许我们存储键值对,其中字符串中每个唯一的字符都是一个键,而值是其出现的次数。

问题陈述

给定一个字符串,我们需要统计每个字符在字符串中出现的次数。例如,在字符串thisisit中,字符t出现两次,h出现一次,i出现三次,s出现两次。

输入

String myStr = "thisisit";

输出

Counting occurrences of each character = {s=2, t=2, h=1, i=3}

统计每个字符出现的次数

以下是统计字符出现次数的步骤:

    为了解决这个问题,我们使用HashMap来存储每个字符作为键,以及其出现的次数作为值。我们迭代字符串,对于每个字符:
  • 步骤1. 使用containsKey()方法检查该字符是否已经是HashMap中的键。
  • 步骤2. 如果是,则递增其计数。
  • 步骤3. 如果不是,则将其添加到HashMap中,计数为1。

为了统计出现次数,我们使用HashMap。循环遍历并使用containsKey()和charAt()方法,统计上述字符串中每个字符出现的次数:

HashMap <Character, Integer> hashMap = new HashMap<>();
for (int i = myStr.length() - 1; i >= 0; i--) {
   if (hashMap.containsKey(myStr.charAt(i))) {
      int count = hashMap.get(myStr.charAt(i));
      hashMap.put(myStr.charAt(i), ++count);
   } else {
         hashMap.put(myStr.charAt(i),1);
   }
}

Java程序统计每个字符出现的次数

以下是统计每个字符出现次数的程序:

import java.util.HashMap;
public class Demo {
   public static void main(String[] args) {
      String myStr = "thisisit";
      System.out.println("String ="+myStr);
      HashMap <Character, Integer> hashMap = new HashMap<>();
      for (int i = myStr.length() - 1; i >= 0; i--) {
         if (hashMap.containsKey(myStr.charAt(i))) {
            int count = hashMap.get(myStr.charAt(i));
            hashMap.put(myStr.charAt(i), ++count);
         } else {
            hashMap.put(myStr.charAt(i),1);
         }
      }
      System.out.println("Counting occurrences of each character = "+hashMap);
   }
}

输出

String =thisisit
Counting occurrences of each character = {s=2, t=2, h=1, i=3}

代码解释

这个Java程序使用**HashMap**统计字符串中每个字符出现的次数。字符串**myStr**初始化为“thisisit”。然后创建一个**HashMap**来存储字符作为键,以及它们的计数作为值。一个for循环反向迭代字符串。对于每个字符,程序使用**containsKey**检查它是否已存在于**HashMap**中。如果存在,则递增计数;如果不存在,则添加该字符,计数为1。最后,程序打印**HashMap**,显示“thisisit”中每个字符的计数,结果为{s=2, t=2, h=1, i=3}。

更新于:2024年7月4日

2K+浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告