In this example, we’ll check if two strings are anagrams of each other.
Input:
String a = "Listen";
String b = "Silent";
Output:
true
A string is said to be an anagram if it contains the same characters and same length but in a different order.
1. Java
public class StringAnagram {
public static void main(String[] args) {
String word = "Stressed";
String word1 = "Desserts";
System.out.println(checkAnagram(word, word1));
}
private static boolean checkAnagram(String word, String word1) {
if (word.length() == word1.length()) {
for (int i = 0; i < word.length(); i++) {
if (!word1.toLowerCase().contains(String.valueOf(word.charAt(i)).toLowerCase())) {
return false;
}
}
return true;
}
return false;
}
}
Output:
true
Check Anagrams Using Sorting:
public class StringAnagramSorting {
public static void main(String[] args) {
String word = "Listen";
String word1 = "Silent";
System.out.println(checkAnagramBySorting(word, word1));
}
private static boolean checkAnagramBySorting(String word, String word1) {
// convert strings to char array
char[] charArray1 = word.toLowerCase().toCharArray();
char[] charArray2 = word1.toLowerCase().toCharArray();
// sort the char array
Arrays.sort(charArray1);
Arrays.sort(charArray2);
return Arrays.equals(charArray1, charArray2);
}
}
Output:
true
Complete Java Solutions can be found here: Github Link