1. Check if Two Strings are Anagrams in Java
An anagram is a word formed by rearranging the letters of another word. Below is the Java implementation using char array sorting:
import java.util.Arrays;
public class AnagramCheck {
public static boolean isAnagram(String str1, String str2) {
char[] a1 = str1.replaceAll("\\s", "").toLowerCase().toCharArray();
char[] a2 = str2.replaceAll("\\s", "").toLowerCase().toCharArray();
if (a1.length != a2.length) return false;
Arrays.sort(a1);
Arrays.sort(a2);
return Arrays.equals(a1, a2);
}
public static void main(String[] args) {
System.out.println(isAnagram("listen", "silent")); // Output: true
}
}
2. Remove Duplicates from an Array in Java
Remove duplicate elements from an array using Java 8 Streams or HashSet:
import java.util.Arrays;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 2, 4, 1, 5, 3};
int[] uniqueNumbers = Arrays.stream(numbers).distinct().toArray();
System.out.println("Unique Array: " + Arrays.toString(uniqueNumbers));
}
}
3. Find First Non-Repeated Character in a String
Find the first non-repeated character in a Java String using LinkedHashMap:
import java.util.*;
public class FirstNonRepeated {
public static Character getFirstNonRepeated(String str) {
Map<Character, Integer> counts = new LinkedHashMap<>();
for (char c : str.toCharArray()) counts.put(c, counts.getOrDefault(c, 0) + 1);
for (Map.Entry<Character, Integer> entry : counts.entrySet()) {
if (entry.getValue() == 1) return entry.getKey();
}
return null;
}
}