使用HashMap 记录出现的字符串,然后用max 记录最值,遇到重复的key,就让value+1,最后输出字符
package Hash;
import java.util.HashMap;
public class FindMaxCountChar {
public static char findCharMost(String str) {
HashMap<Character, Integer> map = new HashMap<>();
int max = 0;
char ans = ' ';
for(int i=0;i<str.length();i++){
//将map中不包含的字符 put
if (!map.containsKey(str.charAt(i))) {
map.put(str.charAt(i), 1);
}else {
//count+1后,覆盖原来的值
int count = map.get(str.charAt(i))+1;
map.put(str.charAt(i), count);
}
//如果出现次数大于当前最大,替换
if (map.get(str.charAt(i))>=max) {
//记录map的最大值
max = map.get(str.charAt(i));
ans = str.charAt(i);
}
}
return ans;
}
public static void main(String[] args) {
String str = "abclba";
System.out.println(findCharMost(str));
}
}