forked from VAR-solutions/Algorithms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFindDuplicateCharacters.java
36 lines (33 loc) · 1.3 KB
/
FindDuplicateCharacters.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/**
* Java Program to find duplicate characters in String.
*/
public class FindDuplicateCharacters {
public static void main(String args[]) {
printDuplicateCharacters("Programming");
printDuplicateCharacters("Language");
printDuplicateCharacters("HelloWorld");
printDuplicateCharacters("Java");
} /* * Find all duplicate characters in a String and print each of them. */
public static void printDuplicateCharacters(String word) {
char[] characters = word.toCharArray();
Map<Character, Integer> charMap = new HashMap<Character, Integer>();
for (Character ch : characters) {
if (charMap.containsKey(ch)) {
charMap.put(ch, charMap.get(ch) + 1);
} else {
charMap.put(ch, 1);
}
}
Set<Map.Entry<Character, Integer>> entrySet = charMap.entrySet();
System.out.printf("List of duplicate characters in String '%s' %n", word);
for (Map.Entry<Character, Integer> entry : entrySet) {
if (entry.getValue() > 1) {
System.out.printf("%s : %d %n", entry.getKey(), entry.getValue());
}
}
}
}