Remove Duplicate Chars From String Using Java
Hey
Most of the time, in almost every interview, this question is asked to remove duplicates from string.
#interview
Ex.
Input — Programming
Output — poraming
We have 4 approaches to solve this problem, let's look below
1 ] Using Java 8
2] Using indexOf(..)
3] Using Character Array
4] Using Set Interface method .
let’s see first approch using java 8..
String str=”programming”;
StringBuilder sb1=new StringBuilder();
str.chars().distinct().forEach(c->sb1.append((char)c));
System.out.println(sb1);
second approach
StringBuilder sb2=new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
int index=str.indexOf(c,i+1);
if(index==-1) {
sb2.append(c);
}
}
System.out.println(sb2);
Third Approach
char [] arr=str.toCharArray();
StringBuilder sb3=new StringBuilder();
for (int i = 0; i < arr.length; i++) {
boolean flag=false;
for (int j = i+1; j < arr.length; j++) {
if(arr[i]==arr[j]) {
flag=true;
break;
}
}
if(!flag) {
sb3.append(arr[i]);
}
}
System.out.println(sb3);
last approach using set interface
StringBuilder sb4=new StringBuilder();
Set<Character> set=new LinkedHashSet<>();
System.err.println(str);
for (int i = 0; i < str.length(); i++) {
set.add(str.charAt(i));
}
for (Character character :set) {
sb4.append(character);
}
System.out.println(sb4);
thank you.
keep sharing :)