Learnitweb

Java Program to find the first repeated character in a String

import java.util.HashSet;
import java.util.Set;

public class FirstRepeatedCharacter {
    public static void main(String[] args) {
        String str = "programming";

        Set<Character> seen = new HashSet<>();
        Character firstRepeated = str.chars() // Convert to IntStream
                .mapToObj(c -> (char) c) // Convert int to Character
                .filter(c -> !seen.add(c)) // Returns true if already present
                .findFirst() // Get the first duplicate
                .orElse(null);

        System.out.println("First Repeated Character: " + firstRepeated);
    }
}

Output:

First Repeated Character: r

Alternative: Using Traditional Set Approach (Better Performance)

import java.util.HashSet;
import java.util.Set;

public class FirstRepeatedCharacterSet {
    public static void main(String[] args) {
        String str = "programming";
        Set<Character> seen = new HashSet<>();

        for (char c : str.toCharArray()) {
            if (!seen.add(c)) { // If already in the set, it's the first repeated character
                System.out.println("First Repeated Character: " + c);
                return;
            }
        }
        System.out.println("No Repeated Character Found");
    }
}