Remove Duplicate Characters in Java

Remove duplicate characters from a string, keeping first occurrences.

IntermediateModule 4: String ProgramsExample 7 of 25
remove-duplicate-characters.java
1import java.util.LinkedHashSet;
2import java.util.Scanner;
3import java.util.Set;
4
5public class Main {
6 public static void main(String[] args) {
7 Scanner sc = new Scanner(System.in);
8 System.out.print("Enter a string: ");
9 String s = sc.nextLine();
10
11 Set<Character> set = new LinkedHashSet<>();
12 for (char c : s.toCharArray()) {
13 set.add(c);
14 }
15
16 StringBuilder sb = new StringBuilder();
17 for (char c : set) {
18 sb.append(c);
19 }
20
21 System.out.println("After removing duplicates: " + sb.toString());
22 sc.close();
23 }
24}

Output

Enter a string: programming
After removing duplicates: progamin

What's going on

We use a LinkedHashSet to preserve insertion order while removing duplicates.