Frequency of Characters in Java

Count frequency of each character in a string.

IntermediateModule 4: String ProgramsExample 10 of 25
frequency-of-characters.java
1import java.util.LinkedHashMap;
2import java.util.Map;
3import java.util.Scanner;
4
5public class Main {
6 public static void main(String[] args) {
7 Scanner sc = new Scanner(System.in);
8 System.out.print("Enter a string: ");
9 String s = sc.nextLine();
10
11 Map<Character, Integer> freq = new LinkedHashMap<>();
12 for (char c : s.toCharArray()) {
13 freq.put(c, freq.getOrDefault(c, 0) + 1);
14 }
15
16 for (Map.Entry<Character, Integer> e : freq.entrySet()) {
17 System.out.println(e.getKey() + " -> " + e.getValue());
18 }
19 sc.close();
20 }
21}

Output

Enter a string: aabccc
a -> 2
b -> 1
c -> 3

What's going on

We use a LinkedHashMap to keep counts in the order of first appearance.