public static void main(String[] args) {
System.out.println(maxOccurringChar("122333444455555666666"));
}
public static Character maxOccurringChar(String s) {
Map<Character, Integer> charCountMap = new HashMap<>();
char[] array = s.toCharArray();
for (int i = 0; i < array.length; i++) {
if(array[i] != ' ') {
Integer occ = charCountMap.getOrDefault(array[i], 0);
charCountMap.put(array[i], ++occ);
}
}
Map.Entry<Character, Integer> maxEntry = charCountMap.entrySet().stream()
.max(Map.Entry.comparingByValue()).get();
// Map.Entry<Character, Integer> maxEntry = getEntryWithMaxValue(charCountMap);
System.out.println(String.format("Character %s occurs %s times.", maxEntry.getKey(), maxEntry.getValue()));
return integerEntry.getKey();
}
private static Map.Entry<Character, Integer> getEntryWithMaxValue(Map<Character, Integer> charCountMap) {
Set<Map.Entry<Character, Integer>> entrySet = charCountMap.entrySet();
Map.Entry<Character, Integer> maxEntry = charCountMap.entrySet().iterator().next();
for (Map.Entry<Character, Integer> entry : entrySet) {
if (entry.getValue() > maxEntry.getValue()) {
maxEntry = entry;
}
}
return maxEntry;
}
Comments
Post a Comment