java编程求字符串中每个字符出现次数

来源:百度知道 编辑:UC知道 时间:2024/07/15 21:20:26
java编程求字符串中每个字符出现次数比如"aacdeffa"a出现3次,c出现1次d出现1次,e出现1次,f出现次...谢谢了,应该用到Map但不知道应该怎么用呀

先把字符串,转成数组。
String a = "aacdeffa";
char[] b = a.toCharAray();
然后申请个
HashMap cntMap = new HashMap();
根据HashMap Key得唯一性,
把每个数组的元素作为Key,值为次数的整形
//loop(数组循环)
判断该Key在cntMap中是否存在
if( cntMap.contains(b[i]) ){
//取到次数
//次数++
} else {
cntMap.put(b[i], new Integer(1));
}

明白了没有,关键就是利用HashMap的Key的唯一性

另一个方法,可以少写几行代码:
String str = "aacdeffa";
int len = str.length();
while (len > 0) {
String tmp = str.substring(0, 1);
str = str.replaceAll(tmp, "");
System.out.println(tmp + "---" + (len - str.length()));
len = str.length();
}
※上面的代码在出现特殊字符时会有问题,需要稍做改进

关注下

貌似也只能那样