25
loading...
This website collects cookies to deliver better user experience
Map<Character, Integer> computeFrequencies(String input)
public static Map<Character, Integer> computeFrequenciesV1(String input) {
Map<Character, Integer> result = new HashMap<>();
for (int index = 0 ; index < input.length(); index++) {
char c = input.charAt(index);
if (result.containsKey(c)) {
Integer oldValue = result.get(c);
result.put(c, ++oldValue);
} else {
result.put(c, 1);
}
}
return result;
}
public static Map<Character, Integer> computeFrequenciesV2(String input) {
Map<Character, Integer> result = new HashMap<>();
for (int index = 0 ; index < input.length(); index++) {
char c = input.charAt(index);
result.compute(c, (key, value) -> value == null ? value = 1 : ++value);
}
return result;
}
public static Map<Character, Long> computeFrequenciesV3(String input) {
return input.chars()
.mapToObj(c -> (char) c)
.collect(groupingBy(c -> c, Collectors.counting()));
}