今天遇到这道编程题,找了一下答题,发现好多实现方式太过于复杂,所以自己写了一个相对较简洁的,实现如下:
/**
* 统计随机字符串音个字母的个数,去除空格
* @param s
* @return
*/
public Map countNum(String s){
Map map = new HashMap();
int n = s.length();
for (int i=0;i<n;i++){
if(s.charAt(i) != ' '){
if(map.containsKey(s.charAt(i))){
map.put(s.charAt(i),(int)map.get(s.charAt(i)) + 1);
}else{
map.put(s.charAt(i),1);
}
}
}
return map;
}
/**
* 解析存放的Map
* @param map
*/
public void analysisMap(Map map){
Iterator<Map.Entry<Character,Object>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Character,Object> entry = iterator.next();
String key = entry.getKey().toString();
int value = (int) entry.getValue();
System.out.println(key + " 个数:" + value);
}
}
public static void main(String[] args) {
String s = "hello world 11 qeleelsppp ";
helloImpl hello = new helloImpl();
Map map = hello.countNum(s);
hello.analysisMap(map);
}
打印结果如下:
参考博客:https://blog.csdn.net/xiao_bai_9527/article/details/78428115