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