Without regular expressions:
public static boolean sameCharacters(String left, String right) {
return sortCharacters(left).equals(sortCharacters(right));
}
private static String sortCharacters(String s) {
final char[] chars = s.toCharArray();
Arrays.sort(chars);
return String.valueOf(chars);
}
UPDATE : more efficient version (thanks to user384706):
public static boolean sameCharacters(String left, String right) {
return Arrays.equals(sortCharacters(left), sortCharacters(right));
}
private static char[] sortCharacters(String s) {
final char[] chars = s.toCharArray();
Arrays.sort(chars);
return chars;
}
source
share