java сравнить строки с словами в разной поледовательности
Подскажите как сравнить две или более строк с разной последовательностью слов? строки: MIKHAIL VLADISLAV GRIGORY VLADISLAV MIKHAIL GRIGORY IVAN ILYA VLADIMIR ANDREY VLADIMIR ILYA VLADIMIR IVAN ANDREY Результат - 2 совпадения
Ответы (1 шт):
Автор решения: DronDron
→ Ссылка
Вот простейшая реализация:
public boolean compare(String first, String second) {
return Arrays.equals(getWordsSortedArray(first), getWordsSortedArray(second));
}
private String[] getWordsSortedArray(String text) {
return Arrays.stream(text.split(" ")).sorted().toArray(String[]::new);
}
Попробуйте, возможно для ваших задач не подойдёт, тогда можно улучшить. Тут слова разделяются просто пробелами.