How to print all duplicate characters in a string in java

Given a string, the task is to write a Java program to print the frequency of all repeated characters.

Example: 

Input: str = “geeksforgeeks”
Output:
s : 2
e : 4
g : 2
k : 2

Input: str = “java”
Output:
a : 2

Approach: The idea is to do hashing using HashMap.

  • Create a hashMap of type {char, int}.
  • Traverse the string, check if the hashMap already contains the traversed character or not.
  • If it is present, then increment the count or else insert the character in the hashmap with frequency = 1.
  • Now traverse through the hashmap and look for the characters with frequency more than 1. Print these characters with their respective frequencies.

Below is the implementation of the above approach:

 

// Java program for the above approach
import java.util.*;
class GFG {

	// Function to print all duplicate
	// characters in string using HashMap
	public static void
	countDuplicateCharacters(String str)
	{

		// Creating a HashMap containing char
		// as a key and occurrences as a value
		Map<Character, Integer> map
			= new HashMap<Character, Integer>();

		// Converting given string into
		// a char array
		char[] charArray = str.toCharArray();

		// Checking each character
		// of charArray
		for (char c : charArray) {

			if (map.containsKey(c)) {

				// If character is present
				// in map incrementing it's
				// count by 1
				map.put(c, map.get(c) + 1);
			}
			else {

				// If character is not present
				// in map putting this
				// character into map with
				// 1 as it's value.
				map.put(c, 1);
			}
		}

		// Traverse the HashMap, check
		// if the count of the character
		// is greater than 1 then print
		// the character and its frequency
		for (Map.Entry<Character, Integer> entry :
			map.entrySet()) {

			if (entry.getValue() > 1) {
				System.out.println(entry.getKey()
								+ " : "
								+ entry.getValue());
			}
		}
	}

	// Driver Code
	public static void
	main(String args[])
	{
		// Given String str
		String str = "geeksforgeeks";

		// Function Call
		countDuplicateCharacters(str);
	}
}

Output:

s : 2
e : 4
g : 2
k : 2

 

Submit Your Programming Assignment Details