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