public static void main(String[] args) {
String str = "adq1879AAss1wq21sW";
char[] ch = str.toCharArray();
Map<Character,Integer> map = new HashMap<Character,Integer>();
for(char c: ch) {
Integer index = map.get(c);
if(index==null) {
map.put(c, 1);
} else {
map.put(c, index+1);
}
}
for(Character cha:map.keySet()) {
System.out.println(cha + "出现的次数为" + map.get(cha));
}
}
这里利用了HashMap的原理,用字符当作key,用出现的次数当作值。定义一个字符数组将字符串进行分割。循环数组,定义一个包装类对象接收在HashMap中相应字符出现的次数。如果对象为空,那么将字符添加到HashMap中,并将次数设为初始值1;如果出现过该字符,那么将其进行覆盖,次数进行+1。