统计字符在字符串中出现的次数
Posted 小智RE0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计字符在字符串中出现的次数相关的知识,希望对你有一定的参考价值。
统计字符在字符串中出现的次数
方式1:在map集合中进行if-else判断
public class Demo01 {
public static void main(String[] args) {
//统计字符在字符串中出现的次数;
String str = "qwerqqqqqqweqweeeewqq";
Map<Character, Integer> map = new HashMap<>();
//对字符串进行遍历;
for (int i = 0; i < str.length(); i++) {
// charAt:根据索引寻找字符
char c = str.charAt(i);
//判断是否包含指定的字符;
if (!map.containsKey(c)) {
//若不包含就存入map中;
map.put(c, 1);
} else {
//若包含则加出现次数+1;
map.put(c, map.get(c) + 1);
}
}
System.out.println(map);
//输出结果:{q=10, r=1, e=6, w=4}
}
}
方式2:通过 字母的ascll码相减,统计次数
public class Demo01 {
public static void main(String[] args) {
//统计字符在字符串中出现的次数;
String str = "qwerqqqqqqweqweeeewqq";
//方式2:
//由于每个字母都有着对应的ascll码;创建长度为26的数组;
int[] counts = new int[26];
//对字符串进行遍历;
for (int i = 0; i < str.length(); i++) {
// charAt:根据索引寻找字符
char c = str.charAt(i);
//让拿到的每个字母;去减第一个字母的值;(实际上有隐式的ascll码相减);
//减出来的值就相当于拿到一次;每减一次就加一次,最终会把叠加的次数计入数组;
counts[c - 'a']++;
}
//遍历数组;
for (int array : counts) {
System.out.print(array + " ");
}
//计算结果:0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 0 4 0 0 0
}
}
以上是关于统计字符在字符串中出现的次数的主要内容,如果未能解决你的问题,请参考以下文章