解題思路:將字符依次映射進哈希表,以字符作爲key,出現次數作爲value,最後比較得出結果
代碼如下:
public void countCharacterInString(){
String target = "hello world what about you today";
//將包含的字符放入哈希表,字符作爲key,出現次數作爲value
char[] alph = target.toCharArray();
Map<Character,Integer> aa = new HashMap<Character,Integer>();
for(Character c:alph){
if(Character.isWhitespace(c)) continue;
if(aa.containsKey(c) == false){
aa.put(c, 1);
}else{
aa.put(c, aa.get(c)+1);
}
}
//比較獲取出現最多次數的字符
Set<Character> set = aa.keySet();
Iterator iter = set.iterator();
Integer count=0;
Character key = new Character(' ');
while(iter.hasNext()){
Character ccc = (Character)iter.next();
System.out.println(ccc +": "+ aa.get(ccc));
if(aa.get(ccc) > count){
count = aa.get(ccc);
key = ccc;
}
}
System.out.println(key.toString()+" "+ count);
}