How to remove duplicate characters from a string in Java

3 Answers

0 votes
public class Program {
    public static String remove_duplicate_characters(String s) {
       StringBuilder sb = new StringBuilder();
       int len = s.length();
       
        for (int i = 0; i < len; i++) {
            char ch = s.charAt(i);
            if (s.indexOf(ch, i + 1) == -1) {
                sb.append(ch);
            }
        }
         
        return sb.toString();
    }
     
    public static void main(String args[]) {
        String s = "jaaaaaaaavva";
         
        s = remove_duplicate_characters(s);
         
        System.out.println(s);
    }
}
 
 
 
/*
run:
 
jva
 
*/

 



answered Oct 27, 2019 by avibootz
edited Mar 5 by avibootz
0 votes
import java.util.HashSet;

public class Main {
    public static String remove_duplicate_characters(String s) {
        HashSet<Character> seen = new HashSet<>();
        StringBuilder result = new StringBuilder();

        for (char c : s.toCharArray()) {
            if (!seen.contains(c)) {
                seen.add(c);
                result.append(c);
            }
        }

        return result.toString();
    }

    public static void main(String[] args) {
        System.out.println(remove_duplicate_characters("banana"));      
        System.out.println(remove_duplicate_characters("jaaaaaaaavva"));
    }
}

 
 
/*
run:
 
ban
jav
 
*/
 

 



answered Oct 27, 2019 by avibootz
edited Mar 5 by avibootz
0 votes
public class Program {
    public static String remove_duplicate_characters(String s) {
        String no_dup = "";
        int len = s.length();
          
        for (int i = 0; i < len; i++) {
            if(!no_dup.contains(String.valueOf(s.charAt(i)))) {
                no_dup += String.valueOf(s.charAt(i));
            }
        }
        
        return no_dup;
    }
 
    public static void main(String args[]) {
        String s = "jaaaaaaaavva";
          
        s = remove_duplicate_characters(s);
          
        System.out.println(s);
    }
}
 
 
 
/*
run:
 
jav
 
*/
 

 



answered Oct 30, 2019 by avibootz
edited Mar 5 by avibootz
...