Write a Program that removes duplicate characters from the string. Your program should read a sentence (string) as input from the user and return a string removing duplicate characters. Retain the first occurrence of the duplicate character. Assume the characters are case–sensitive.
Input and Output Format
- Input consists of a string with a maximum size of 100 characters.
- The output consists of a single string.
Refer sample output for formatting specifications
Sample Input 1:
hi this is sample test
Sample Output 1:
hi tsample
Sample Input 2:
ABC DEF
Sample Output 2:
ABC DEF
Java program to remove Duplicate Characters in String
Let us see the steps to remove duplicate characters in a string:
- Input a string from the user.
- Call the getvalues() method with the input string.
- Inside the method, first, convert the string to a character array using the toCharArray() method.
- Then, create an empty string buffer. Also, create a LinkedHashSet of character type. (Here, LinkedHashSet is used to allow unique characters & it will remove duplicate characters)
- Add all the characters to the LinkedHashSet.
- Now, iterate over the LinkedHashSet, and keep adding characters and check if the space is encountered then just append it to string buffer and print them.
package testCases; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Scanner; public class MainJava { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1 = sc.nextLine(); getvalues(s1); } public static void getvalues(String s1) { char a[] = s1.toCharArray(); StringBuffer sb = new StringBuffer(); LinkedHashSet<Character> hs = new LinkedHashSet<Character>(); for (int i = 0; i < a.length; i++) { hs.add(a[i]); } Iterator<Character> itr = hs.iterator(); while (itr.hasNext()) { char o = itr.next(); if (o != ' ') ; { sb.append(o); } } System.out.println(sb); } }
Output
Duplicate Character Remove using for loop
Obtain a string and just remove duplicate characters in the string using for loop. Let us consider we have the string “old is gold”. Then after removing the duplicate it should print “old isg”.
Input and Output Format
- Input consists of a string with a maximum size of 100 characters.
- The output consists of a string without duplicates.
Refer sample output for formatting specifications
Sample Input 1:
old is gold
Sample Output 1:
old isg
Program to remove duplicate characters in Java
Let us see some simple steps through which we can achieve this:
- Input a string from the user.
- Call the getvalues() method with the string.
- Inside the method, convert the string to a character array using the toCharArray() method.
- Initialize a temp variable.
- Iterate over the character array, and check whether the character is present or not by matching each character with its consecutive. If a character is not present add it to the result.
package com.testcases; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1 = sc.nextLine(); getvalues(s1); } public static void getvalues(String s1) { int j; char a[] = s1.toCharArray(); int temp =0; for(int i = 0;i<a.length;i++){ for(j =0 ; j < i ; j++){ if(a[i]==a[j]){ break; } } if(j==i){ a[temp++]=a[i]; } } System.out.println(String.valueOf(Arrays.copyOf(a,temp))); } }
Output
Remove Duplicate characters in a string using Java 8
Obtain a string from the user and remove the repeating character using Java version 8 features. Let us use the stream concept of Java 8.
Input and Output Format
- Input consists of a string with a maximum size of 100 characters.
- The output consists of a string without duplicates.
Refer sample output for formatting specifications
Sample Input 1:
helloworld
Sample Output 1:
helowrd
Program to remove duplicates using Java 8
Let us see the following steps:
- Input string from the user.
- Create an empty string builder.
- Use the distinct() method to eliminate duplicates from the string.
- At last append string to the string builder.
package com.testcases; import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s1 = scanner.nextLine(); StringBuilder stringBuilder = new StringBuilder(); s1.chars().distinct().forEach(temp->stringBuilder.append((char) temp)); String duplicate = stringBuilder.toString(); System.out.println(duplicate); } }
Output
Thus, in this way, this was all about removing duplicate characters in a string in Java.