tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Articles > Java > Coding Examples > Duplicate chars in a String

Duplicate chars in a String 

Print the duplicate characters in a given string.

File Name  :  
com/bethecoder/tutorials/coding/examples/PrintDuplicateCharsTest.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.coding.examples;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * Print the duplicate characters in a given string.
 */
public class PrintDuplicateCharsTest {

  /**
   @param args
   */
  public static void main(String[] args) {

    String str = "ABBACCCDEEEFKIKLKM";
    System.out.println("Duplicates in '" + str + "' : " + getDuplicateChars(str));
    
    str = "A";
    System.out.println("Duplicates in '" + str + "' : " + getDuplicateChars(str));
    
    str = "ACxxDDCA";
    System.out.println("Duplicates in '" + str + "' : " + getDuplicateChars(str));
  }
  
  private static List<Character> getDuplicateChars(String str) {
    
    Map<Character, Integer> map = new HashMap<Character, Integer>();
    
    for (int i = ; i < str.length() ; i ++) {
      char c = str.charAt(i);
      
      if (map.containsKey(c)) {
        map.put(c, map.get(c1)//duplicate found
      else {
        map.put(c, 1)//first time found
      }
    }
    
    Iterator<Character> it = map.keySet().iterator();
    List<Character> duplicates = new ArrayList<Character>();
    while (it.hasNext()) {
      char c = it.next();
      
      if (map.get(c1) { //duplicate characters
        duplicates.add(c);
      }
    }
    
    return duplicates;
  }
}

   

It gives the following output,
Duplicates in 'ABBACCCDEEEFKIKLKM' : [E, A, B, C, K]
Duplicates in 'A' : []
Duplicates in 'ACxxDDCA' : [D, A, C, x]



 
  


  
bl  br