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"); } }