DEV Community

Suresh Ayyanna
Suresh Ayyanna

Posted on

2 2 1 1 1

Find Duplicate String and Letters from a Given string - Java(Collections)

**

Program to find Duplicate String and Letters from a Given string - Java(Collections)

**

package Test;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Program1 {

    public static void findDuplicateWords(String str) {
        // 1. Split the String - String Array formation
        String[] s = str.split(" ");

        // 2. Crate a HashMap to get key-value pair
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        for (String temp : s) {
            if (map.get(temp) != null) {
                map.put(temp, map.get(temp) + 1);
            } else
                map.put(temp, 1);
        }

        // 3. To find duplicate words from keyValue set
        Set<Map.Entry<String, Integer>> data = map.entrySet();
        for (Map.Entry<String, Integer> dup : data) {
            if (dup.getValue() > 1)
                System.out.println("The word : '" + dup.getKey() + "' appeared - " + dup.getValue() + " times");

        }
    }

    public static void findDuplicateLetters(String str) {
        //1.Remove whitespaces
        str = str.replace(" ", "");

        //2.Convert to Lower case all letters
        str=str.toLowerCase();

        //3. create Hash map to get key-value pair
        HashMap<Character, Integer> hmap = new HashMap<>();

        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if (hmap.get(ch) != null) {
                hmap.put(ch, hmap.get(ch) + 1);
            } else
                hmap.put(ch, 1);
        }
        Set<Map.Entry<Character, Integer>> data = hmap.entrySet();
        for (Map.Entry<Character, Integer> dup : data) {
            if (dup.getValue() > 1)
                System.out.println("The word : '" + dup.getKey() + "' appeared - " + dup.getValue() + " times");
        }
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter the Stirng");

        String str = input.nextLine();

        findDuplicateWords(str);
        findDuplicateLetters(str);

    }
}

Enter fullscreen mode Exit fullscreen mode

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)