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}。
广告