static boolean isAnagram(String s1, String s2) { if(s1.length() != s2.length()) return false; s1 = s1.toLowerCase(); s2 = s2.toLowerCase(); java.util.HashMap<Character, Integer> map1 = new java.util.HashMap<Character, Integer>(); for(int i = 0; i < s1.length(); i++) { if(map1.containsKey(s1.charAt(i))) { int t = map1.get(s1.charAt(i)); map1.put(s1.charAt(i), t + 1); } else { map1.put(s1.charAt(i), 1); } } java.util.HashMap<Character, Integer> map2 = new java.util.HashMap<Character, Integer>(); for(int i = 0; i < s2.length(); i++) { if(map2.containsKey(s2.charAt(i))) { int t = map2.get(s2.charAt(i)); map2.put(s2.charAt(i), t + 1); } else { map2.put(s2.charAt(i), 1); } } for(int i = 0; i < s2.length(); i++) { if(map1.containsKey(s2.charAt(i))) { if(map1.get(s2.charAt(i)) != map2.get(s2.charAt(i))) return false; } else return false; } return true; }