Java Online Compiler
Example: FindFirstNonRepeatingTraditional in Java
C
C++
C#
Java
Python
PHP
Main.java
STDIN
Run
// FindFirstNonRepeatingTraditional import java.util.LinkedHashMap; import java.util.Map; import java.util.Optional; public class Main { public static Optional<Character> findFirstNonRepeatingTraditional(String s) { if (s == null || s.isEmpty()) { return Optional.empty(); } // Step 1: Use LinkedHashMap to store character counts and preserve insertion order Map<Character, Integer> charCounts = new LinkedHashMap<>(); for (char c : s.toCharArray()) { charCounts.put(c, charCounts.getOrDefault(c, 0) + 1); } // Step 2: Iterate through the map entries to find the first character with count 1 for (Map.Entry<Character, Integer> entry : charCounts.entrySet()) { if (entry.getValue() == 1) { return Optional.of(entry.getKey()); } } // Step 3: If no non-repeating character is found, return empty return Optional.empty(); } public static void main(String[] args) { System.out.println("--- Traditional Approach ---"); System.out.println("stress -> " + findFirstNonRepeatingTraditional("stress").orElse(null)); // t System.out.println("aabbc -> " + findFirstNonRepeatingTraditional("aabbc").orElse(null)); // c System.out.println("aabb -> " + findFirstNonRepeatingTraditional("aabb").orElse(null)); // null System.out.println("java -> " + findFirstNonRepeatingTraditional("java").orElse(null)); // j System.out.println(" -> " + findFirstNonRepeatingTraditional("").orElse(null)); // null System.out.println("zzzaac -> " + findFirstNonRepeatingTraditional("zzzaac").orElse(null)); // c } }
Output
Clear
ADVERTISEMENTS